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
    BVH_Distance< NumType, Dimension, ObjectType, BVHSetType > Class Template Reference

    Abstract class for computation of the min distance between some Object and elements of BVH tree. To use this class it is required to define two methods: More...

    #include <BVH_Distance.hxx>

    Inheritance diagram for BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >:

    Public Member Functions

    Constructor

    Constructor

     BVH_Distance ()
    Setting object for distance computation

    Sets the object to which the distance is required

    void SetObject (const ObjectType &theObject)
    Compute the distance

    Computes the distance between object and BVH tree

    NumType ComputeDistance ()
    Accessing the results

    Returns IsDone flag

    bool IsDone () const
     Returns the computed distance.
    NumType Distance () const
     Returns the computed distance.
    Definition of the rules for tree descend

    Compares the two metrics and chooses the best one

    bool IsMetricBetter (const NumType &theLeft, const NumType &theRight) const override
     Rejects the branch by the metric.
    bool RejectMetric (const NumType &theMetric) const override
     Rejects the branch by the metric.
    bool Stop () const override
     Returns the flag controlling the tree descend.
    Public Member Functions inherited from BVH_Traverse< NumType, Dimension, BVHSetType, NumType >
     BVH_Traverse ()
    void SetBVHSet (BVHSetType *theBVHSet)
    virtual bool AcceptMetric (const NumType &) const
     Rejection of the node by bounding box. Metric is computed to choose the best branch. Returns true if the node should be rejected, false otherwise.
    virtual bool RejectNode (const BVH_VecNt &theCornerMin, const BVH_VecNt &theCornerMax, NumType &theMetric) const=0
     Rejection of the node by bounding box. Metric is computed to choose the best branch. Returns true if the node should be rejected, false otherwise.
    virtual bool Accept (const int theIndex, const NumType &theMetric)=0
     Leaf element acceptance. Metric of the parent leaf-node is passed to avoid the check on the element and accept it unconditionally. Returns true if the element has been accepted, false otherwise.
    int Select ()
     Performs selection of the elements from the BVH tree by the rules defined in Accept/Reject methods. Returns the number of accepted elements.
    Public Member Functions inherited from BVH_BaseTraverse< NumType >

    Protected Attributes

    Fields
    NumType myDistance
     Distance.
    bool myIsDone
     State of the algorithm.
    ObjectType myObject
     Object to compute the distance to.
    Protected Attributes inherited from BVH_Traverse< NumType, Dimension, BVHSetType, NumType >
    BVHSetType * myBVHSet

    Additional Inherited Members

    Public Types inherited from BVH_Traverse< NumType, Dimension, BVHSetType, NumType >
    typedef BVH_Box< NumType, Dimension >::BVH_VecNt BVH_VecNt
    Protected Member Functions inherited from BVH_BaseTraverse< NumType >
     BVH_BaseTraverse ()
     Destructor.
    virtual ~BVH_BaseTraverse ()=default
     Destructor.

    Detailed Description

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    class BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >

    Abstract class for computation of the min distance between some Object and elements of BVH tree. To use this class it is required to define two methods:

    • RejectNode to compute distance from the object to bounding box
    • Accept to compute distance from the object to the element of tree
    Template Parameters
    NumTypeNumeric data type
    DimensionVector dimension
    ObjectTypeType of the object to which the distance is required
    BVHSetTypeType of the set on which BVH is built

    Constructor & Destructor Documentation

    ◆ BVH_Distance()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::BVH_Distance ( )
    inline

    Member Function Documentation

    ◆ ComputeDistance()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    NumType BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::ComputeDistance ( )
    inline

    ◆ Distance()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    NumType BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::Distance ( ) const
    inline

    Returns the computed distance.

    ◆ IsDone()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    bool BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::IsDone ( ) const
    inline

    Returns the computed distance.

    ◆ IsMetricBetter()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    bool BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::IsMetricBetter ( const NumType & theLeft,
    const NumType & theRight ) const
    inlineoverridevirtual

    Rejects the branch by the metric.

    Reimplemented from BVH_BaseTraverse< NumType >.

    ◆ RejectMetric()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    bool BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::RejectMetric ( const NumType & theMetric) const
    inlineoverridevirtual

    Rejects the branch by the metric.

    Reimplemented from BVH_BaseTraverse< NumType >.

    ◆ SetObject()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    void BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::SetObject ( const ObjectType & theObject)
    inline

    ◆ Stop()

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    bool BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::Stop ( ) const
    inlineoverridevirtual

    Returns the flag controlling the tree descend.

    Reimplemented from BVH_BaseTraverse< NumType >.

    Field Documentation

    ◆ myDistance

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    NumType BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::myDistance
    protected

    Distance.

    ◆ myIsDone

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    bool BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::myIsDone
    protected

    State of the algorithm.

    ◆ myObject

    template<class NumType, int Dimension, class ObjectType, class BVHSetType>
    ObjectType BVH_Distance< NumType, Dimension, ObjectType, BVHSetType >::myObject
    protected

    Object to compute the distance to.


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