OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    Graphic3d_BvhCStructureSetTrsfPers Class Reference

    Set of transformation persistent OpenGl_Structure for building BVH tree. Provides built-in mechanism to invalidate tree when world view projection state changes. Due to frequent invalidation of BVH tree the choice of BVH tree builder is made in favor of BVH linear builder (quick rebuild). More...

    #include <Graphic3d_BvhCStructureSetTrsfPers.hxx>

    Inheritance diagram for Graphic3d_BvhCStructureSetTrsfPers:

    Public Member Functions

     Graphic3d_BvhCStructureSetTrsfPers (const occ::handle< BVH_Builder3d > &theBuilder)
     Creates an empty primitive set for BVH clipping.
    int Size () const override
     Returns total number of structures.
    Graphic3d_BndBox3d Box (const int theIdx) const override
     Returns AABB of the structure.
    double Center (const int theIdx, const int theAxis) const override
     Calculates center of the AABB along given axis.
    void Swap (const int theIdx1, const int theIdx2) override
     Swaps structures with the given indices.
    bool Add (const Graphic3d_CStructure *theStruct)
     Adds structure to the set.
    bool Remove (const Graphic3d_CStructure *theStruct)
     Removes the given structure from the set.
    void Clear ()
     Cleans the whole primitive set.
    const Graphic3d_CStructureGetStructureById (int theId)
     Returns the structure corresponding to the given ID.
    const NCollection_IndexedMap< const Graphic3d_CStructure * > & Structures () const
     Access directly a collection of structures.
    void MarkDirty ()
     Marks object state as outdated (needs BVH rebuilding).
    const opencascade::handle< BVH_Tree< double, 3 > > & BVH (const occ::handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< double > &theProjectionMatrix, const NCollection_Mat4< double > &theWorldViewMatrix, const int theViewportWidth, const int theViewportHeight, const Graphic3d_WorldViewProjState &theWVPState)
     Returns BVH tree for the given world view projection (builds it if necessary).
    const occ::handle< BVH_Builder3d > & Builder () const
     Returns builder for bottom-level BVH.
    void SetBuilder (const occ::handle< BVH_Builder3d > &theBuilder)
     Assigns builder for bottom-level BVH.
    Public Member Functions inherited from BVH_Set< double, 3 >
     BVH_Set ()=default
     Creates new abstract set of objects.
    virtual ~BVH_Set ()=default
     Releases resources of set of objects.
    virtual BVH_Box< double, N > Box () const
     Returns AABB of the entire set of objects.

    Additional Inherited Members

    Public Types inherited from BVH_Set< double, 3 >
    typedef BVH_Box< double, N > BVH_BoxNt

    Detailed Description

    Set of transformation persistent OpenGl_Structure for building BVH tree. Provides built-in mechanism to invalidate tree when world view projection state changes. Due to frequent invalidation of BVH tree the choice of BVH tree builder is made in favor of BVH linear builder (quick rebuild).

    Constructor & Destructor Documentation

    ◆ Graphic3d_BvhCStructureSetTrsfPers()

    Graphic3d_BvhCStructureSetTrsfPers::Graphic3d_BvhCStructureSetTrsfPers ( const occ::handle< BVH_Builder3d > & theBuilder)

    Creates an empty primitive set for BVH clipping.

    Member Function Documentation

    ◆ Add()

    bool Graphic3d_BvhCStructureSetTrsfPers::Add ( const Graphic3d_CStructure * theStruct)

    Adds structure to the set.

    Returns
    true if structure added, otherwise returns false (structure already in the set).

    ◆ Box()

    Graphic3d_BndBox3d Graphic3d_BvhCStructureSetTrsfPers::Box ( const int theIdx) const
    override

    Returns AABB of the structure.

    ◆ Builder()

    const occ::handle< BVH_Builder3d > & Graphic3d_BvhCStructureSetTrsfPers::Builder ( ) const
    inline

    Returns builder for bottom-level BVH.

    ◆ BVH()

    const opencascade::handle< BVH_Tree< double, 3 > > & Graphic3d_BvhCStructureSetTrsfPers::BVH ( const occ::handle< Graphic3d_Camera > & theCamera,
    const NCollection_Mat4< double > & theProjectionMatrix,
    const NCollection_Mat4< double > & theWorldViewMatrix,
    const int theViewportWidth,
    const int theViewportHeight,
    const Graphic3d_WorldViewProjState & theWVPState )

    Returns BVH tree for the given world view projection (builds it if necessary).

    ◆ Center()

    double Graphic3d_BvhCStructureSetTrsfPers::Center ( const int theIdx,
    const int theAxis ) const
    overridevirtual

    Calculates center of the AABB along given axis.

    Implements BVH_Set< double, 3 >.

    ◆ Clear()

    void Graphic3d_BvhCStructureSetTrsfPers::Clear ( )

    Cleans the whole primitive set.

    ◆ GetStructureById()

    const Graphic3d_CStructure * Graphic3d_BvhCStructureSetTrsfPers::GetStructureById ( int theId)

    Returns the structure corresponding to the given ID.

    ◆ MarkDirty()

    void Graphic3d_BvhCStructureSetTrsfPers::MarkDirty ( )
    inline

    Marks object state as outdated (needs BVH rebuilding).

    ◆ Remove()

    bool Graphic3d_BvhCStructureSetTrsfPers::Remove ( const Graphic3d_CStructure * theStruct)

    Removes the given structure from the set.

    Returns
    true if structure removed, otherwise returns false (structure is not in the set).

    ◆ SetBuilder()

    void Graphic3d_BvhCStructureSetTrsfPers::SetBuilder ( const occ::handle< BVH_Builder3d > & theBuilder)
    inline

    Assigns builder for bottom-level BVH.

    ◆ Size()

    int Graphic3d_BvhCStructureSetTrsfPers::Size ( ) const
    overridevirtual

    Returns total number of structures.

    Implements BVH_Set< double, 3 >.

    ◆ Structures()

    const NCollection_IndexedMap< const Graphic3d_CStructure * > & Graphic3d_BvhCStructureSetTrsfPers::Structures ( ) const
    inline

    Access directly a collection of structures.

    ◆ Swap()

    void Graphic3d_BvhCStructureSetTrsfPers::Swap ( const int theIdx1,
    const int theIdx2 )
    overridevirtual

    Swaps structures with the given indices.

    Implements BVH_Set< double, 3 >.


    The documentation for this class was generated from the following file: