Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes
Adaptor3d_TopolTool Class Reference

This class provides a default topological tool, based on the Umin,Vmin,Umax,Vmax of an HSurface from Adaptor3d. All methods and fields may be redefined when inheriting from this class. This class is used to instantiate algorithms as Intersection, outlines,... More...

#include <Adaptor3d_TopolTool.hxx>

Inheritance diagram for Adaptor3d_TopolTool:
Inheritance graph
[legend]

Public Member Functions

 Adaptor3d_TopolTool ()
 
 Adaptor3d_TopolTool (const occ::handle< Adaptor3d_Surface > &Surface)
 
virtual void Initialize ()
 
virtual void Initialize (const occ::handle< Adaptor3d_Surface > &S)
 
virtual void Initialize (const occ::handle< Adaptor2d_Curve2d > &Curve)
 
virtual void Init ()
 
virtual bool More ()
 
virtual occ::handle< Adaptor2d_Curve2dValue ()
 
virtual void Next ()
 
virtual void InitVertexIterator ()
 
virtual bool MoreVertex ()
 
virtual occ::handle< Adaptor3d_HVertexVertex ()
 
virtual void NextVertex ()
 
virtual TopAbs_State Classify (const gp_Pnt2d &P, const double Tol, const bool ReacdreOnPeriodic=true)
 
virtual bool IsThePointOn (const gp_Pnt2d &P, const double Tol, const bool ReacdreOnPeriodic=true)
 
virtual TopAbs_Orientation Orientation (const occ::handle< Adaptor2d_Curve2d > &C)
 If the function returns the orientation of the arc. If the orientation is FORWARD or REVERSED, the arc is a "real" limit of the surface. If the orientation is INTERNAL or EXTERNAL, the arc is considered as an arc on the surface.
 
virtual TopAbs_Orientation Orientation (const occ::handle< Adaptor3d_HVertex > &V)
 Returns the orientation of the vertex V. The vertex has been found with an exploration on a given arc. The orientation is the orientation of the vertex on this arc.
 
virtual bool Identical (const occ::handle< Adaptor3d_HVertex > &V1, const occ::handle< Adaptor3d_HVertex > &V2)
 Returns True if the vertices V1 and V2 are identical. This method does not take the orientation of the vertices in account.
 
virtual bool Has3d () const
 answers if arcs and vertices may have 3d representations, so that we could use Tol3d and Pnt methods.
 
virtual double Tol3d (const occ::handle< Adaptor2d_Curve2d > &C) const
 returns 3d tolerance of the arc C
 
virtual double Tol3d (const occ::handle< Adaptor3d_HVertex > &V) const
 returns 3d tolerance of the vertex V
 
virtual gp_Pnt Pnt (const occ::handle< Adaptor3d_HVertex > &V) const
 returns 3d point of the vertex V
 
virtual void ComputeSamplePoints ()
 
virtual int NbSamplesU ()
 compute the sample-points for the intersections algorithms
 
virtual int NbSamplesV ()
 compute the sample-points for the intersections algorithms
 
virtual int NbSamples ()
 compute the sample-points for the intersections algorithms
 
void UParameters (NCollection_Array1< double > &theArray) const
 return the set of U parameters on the surface obtained by the method SamplePnts
 
void VParameters (NCollection_Array1< double > &theArray) const
 return the set of V parameters on the surface obtained by the method SamplePnts
 
virtual void SamplePoint (const int Index, gp_Pnt2d &P2d, gp_Pnt &P3d)
 
virtual bool DomainIsInfinite ()
 
virtual voidEdge () const
 
virtual void SamplePnts (const double theDefl, const int theNUmin, const int theNVmin)
 Compute the sample-points for the intersections algorithms by adaptive algorithm for BSpline surfaces. For other surfaces algorithm is the same as in method ComputeSamplePoints(), but only fill arrays of U and V sample parameters;.
 
virtual void BSplSamplePnts (const double theDefl, const int theNUmin, const int theNVmin)
 Compute the sample-points for the intersections algorithms by adaptive algorithm for BSpline surfaces - is used in SamplePnts.
 
virtual bool IsUniformSampling () const
 Returns true if provide uniform sampling of points.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
bool IsKind (const char *const theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Static Public Member Functions

static void GetConeApexParam (const gp_Cone &theC, double &theU, double &theV)
 Computes the cone's apex parameters.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Protected Attributes

occ::handle< Adaptor3d_SurfacemyS
 
int myNbSamplesU
 
int myNbSamplesV
 
occ::handle< NCollection_HArray1< double > > myUPars
 
occ::handle< NCollection_HArray1< double > > myVPars
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Detailed Description

This class provides a default topological tool, based on the Umin,Vmin,Umax,Vmax of an HSurface from Adaptor3d. All methods and fields may be redefined when inheriting from this class. This class is used to instantiate algorithms as Intersection, outlines,...

Constructor & Destructor Documentation

◆ Adaptor3d_TopolTool() [1/2]

Adaptor3d_TopolTool::Adaptor3d_TopolTool ( )

◆ Adaptor3d_TopolTool() [2/2]

Adaptor3d_TopolTool::Adaptor3d_TopolTool ( const occ::handle< Adaptor3d_Surface > & Surface)

Member Function Documentation

◆ BSplSamplePnts()

virtual void Adaptor3d_TopolTool::BSplSamplePnts ( const double theDefl,
const int theNUmin,
const int theNVmin )
virtual

Compute the sample-points for the intersections algorithms by adaptive algorithm for BSpline surfaces - is used in SamplePnts.

Parameters
[in]theDeflrequired deflection
[in]theNUminminimal nb points for U
[in]theNVminminimal nb points for V

◆ Classify()

virtual TopAbs_State Adaptor3d_TopolTool::Classify ( const gp_Pnt2d & P,
const double Tol,
const bool ReacdreOnPeriodic = true )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ ComputeSamplePoints()

virtual void Adaptor3d_TopolTool::ComputeSamplePoints ( )
virtual

◆ DomainIsInfinite()

virtual bool Adaptor3d_TopolTool::DomainIsInfinite ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Edge()

virtual void * Adaptor3d_TopolTool::Edge ( ) const
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ GetConeApexParam()

static void Adaptor3d_TopolTool::GetConeApexParam ( const gp_Cone & theC,
double & theU,
double & theV )
static

Computes the cone's apex parameters.

Parameters
[in]theCconical surface
[in]theUU parameter of cone's apex
[in]theVV parameter of cone's apex

◆ Has3d()

virtual bool Adaptor3d_TopolTool::Has3d ( ) const
virtual

answers if arcs and vertices may have 3d representations, so that we could use Tol3d and Pnt methods.

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Identical()

virtual bool Adaptor3d_TopolTool::Identical ( const occ::handle< Adaptor3d_HVertex > & V1,
const occ::handle< Adaptor3d_HVertex > & V2 )
virtual

Returns True if the vertices V1 and V2 are identical. This method does not take the orientation of the vertices in account.

◆ Init()

virtual void Adaptor3d_TopolTool::Init ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Initialize() [1/3]

virtual void Adaptor3d_TopolTool::Initialize ( )
virtual

◆ Initialize() [2/3]

virtual void Adaptor3d_TopolTool::Initialize ( const occ::handle< Adaptor2d_Curve2d > & Curve)
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Initialize() [3/3]

virtual void Adaptor3d_TopolTool::Initialize ( const occ::handle< Adaptor3d_Surface > & S)
virtual

◆ InitVertexIterator()

virtual void Adaptor3d_TopolTool::InitVertexIterator ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ IsThePointOn()

virtual bool Adaptor3d_TopolTool::IsThePointOn ( const gp_Pnt2d & P,
const double Tol,
const bool ReacdreOnPeriodic = true )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ IsUniformSampling()

virtual bool Adaptor3d_TopolTool::IsUniformSampling ( ) const
virtual

Returns true if provide uniform sampling of points.

◆ More()

virtual bool Adaptor3d_TopolTool::More ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ MoreVertex()

virtual bool Adaptor3d_TopolTool::MoreVertex ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ NbSamples()

virtual int Adaptor3d_TopolTool::NbSamples ( )
virtual

compute the sample-points for the intersections algorithms

Reimplemented in IntTools_TopolTool, and BRepTopAdaptor_TopolTool.

◆ NbSamplesU()

virtual int Adaptor3d_TopolTool::NbSamplesU ( )
virtual

compute the sample-points for the intersections algorithms

Reimplemented in IntTools_TopolTool, and BRepTopAdaptor_TopolTool.

◆ NbSamplesV()

virtual int Adaptor3d_TopolTool::NbSamplesV ( )
virtual

compute the sample-points for the intersections algorithms

Reimplemented in IntTools_TopolTool, and BRepTopAdaptor_TopolTool.

◆ Next()

virtual void Adaptor3d_TopolTool::Next ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ NextVertex()

virtual void Adaptor3d_TopolTool::NextVertex ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Orientation() [1/2]

virtual TopAbs_Orientation Adaptor3d_TopolTool::Orientation ( const occ::handle< Adaptor2d_Curve2d > & C)
virtual

If the function returns the orientation of the arc. If the orientation is FORWARD or REVERSED, the arc is a "real" limit of the surface. If the orientation is INTERNAL or EXTERNAL, the arc is considered as an arc on the surface.

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Orientation() [2/2]

virtual TopAbs_Orientation Adaptor3d_TopolTool::Orientation ( const occ::handle< Adaptor3d_HVertex > & V)
virtual

Returns the orientation of the vertex V. The vertex has been found with an exploration on a given arc. The orientation is the orientation of the vertex on this arc.

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Pnt()

virtual gp_Pnt Adaptor3d_TopolTool::Pnt ( const occ::handle< Adaptor3d_HVertex > & V) const
virtual

returns 3d point of the vertex V

Reimplemented in BRepTopAdaptor_TopolTool.

◆ SamplePnts()

virtual void Adaptor3d_TopolTool::SamplePnts ( const double theDefl,
const int theNUmin,
const int theNVmin )
virtual

Compute the sample-points for the intersections algorithms by adaptive algorithm for BSpline surfaces. For other surfaces algorithm is the same as in method ComputeSamplePoints(), but only fill arrays of U and V sample parameters;.

Parameters
[in]theDefla required deflection
[in]theNUminminimal nb points for U
[in]theNVminminimal nb points for V

Reimplemented in IntTools_TopolTool.

◆ SamplePoint()

virtual void Adaptor3d_TopolTool::SamplePoint ( const int Index,
gp_Pnt2d & P2d,
gp_Pnt & P3d )
virtual

◆ Tol3d() [1/2]

virtual double Adaptor3d_TopolTool::Tol3d ( const occ::handle< Adaptor2d_Curve2d > & C) const
virtual

returns 3d tolerance of the arc C

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Tol3d() [2/2]

virtual double Adaptor3d_TopolTool::Tol3d ( const occ::handle< Adaptor3d_HVertex > & V) const
virtual

returns 3d tolerance of the vertex V

Reimplemented in BRepTopAdaptor_TopolTool.

◆ UParameters()

void Adaptor3d_TopolTool::UParameters ( NCollection_Array1< double > & theArray) const

return the set of U parameters on the surface obtained by the method SamplePnts

◆ Value()

virtual occ::handle< Adaptor2d_Curve2d > Adaptor3d_TopolTool::Value ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Vertex()

virtual occ::handle< Adaptor3d_HVertex > Adaptor3d_TopolTool::Vertex ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ VParameters()

void Adaptor3d_TopolTool::VParameters ( NCollection_Array1< double > & theArray) const

return the set of V parameters on the surface obtained by the method SamplePnts

Field Documentation

◆ myNbSamplesU

int Adaptor3d_TopolTool::myNbSamplesU
protected

◆ myNbSamplesV

int Adaptor3d_TopolTool::myNbSamplesV
protected

◆ myS

occ::handle<Adaptor3d_Surface> Adaptor3d_TopolTool::myS
protected

◆ myUPars

occ::handle<NCollection_HArray1<double> > Adaptor3d_TopolTool::myUPars
protected

◆ myVPars

occ::handle<NCollection_HArray1<double> > Adaptor3d_TopolTool::myVPars
protected

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