Open CASCADE Technology 7.8.2.dev
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:

Public Member Functions

 Adaptor3d_TopolTool ()
 
 Adaptor3d_TopolTool (const Handle< Adaptor3d_Surface > &Surface)
 
virtual void Initialize ()
 
virtual void Initialize (const Handle< Adaptor3d_Surface > &S)
 
virtual void Initialize (const Handle< Adaptor2d_Curve2d > &Curve)
 
virtual void Init ()
 
virtual Standard_Boolean More ()
 
virtual Handle< Adaptor2d_Curve2dValue ()
 
virtual void Next ()
 
virtual void InitVertexIterator ()
 
virtual Standard_Boolean MoreVertex ()
 
virtual Handle< Adaptor3d_HVertexVertex ()
 
virtual void NextVertex ()
 
virtual TopAbs_State Classify (const gp_Pnt2d &P, const Standard_Real Tol, const Standard_Boolean ReacdreOnPeriodic=Standard_True)
 
virtual Standard_Boolean IsThePointOn (const gp_Pnt2d &P, const Standard_Real Tol, const Standard_Boolean ReacdreOnPeriodic=Standard_True)
 
virtual TopAbs_Orientation Orientation (const 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 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 Standard_Boolean Identical (const Handle< Adaptor3d_HVertex > &V1, const 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 Standard_Boolean Has3d () const
 answers if arcs and vertices may have 3d representations, so that we could use Tol3d and Pnt methods.
 
virtual Standard_Real Tol3d (const Handle< Adaptor2d_Curve2d > &C) const
 returns 3d tolerance of the arc C
 
virtual Standard_Real Tol3d (const Handle< Adaptor3d_HVertex > &V) const
 returns 3d tolerance of the vertex V
 
virtual gp_Pnt Pnt (const Handle< Adaptor3d_HVertex > &V) const
 returns 3d point of the vertex V
 
virtual void ComputeSamplePoints ()
 
virtual Standard_Integer NbSamplesU ()
 compute the sample-points for the intersections algorithms
 
virtual Standard_Integer NbSamplesV ()
 compute the sample-points for the intersections algorithms
 
virtual Standard_Integer NbSamples ()
 compute the sample-points for the intersections algorithms
 
void UParameters (TColStd_Array1OfReal &theArray) const
 return the set of U parameters on the surface obtained by the method SamplePnts
 
void VParameters (TColStd_Array1OfReal &theArray) const
 return the set of V parameters on the surface obtained by the method SamplePnts
 
virtual void SamplePoint (const Standard_Integer Index, gp_Pnt2d &P2d, gp_Pnt &P3d)
 
virtual Standard_Boolean DomainIsInfinite ()
 
virtual Standard_Address Edge () const
 
virtual void SamplePnts (const Standard_Real theDefl, const Standard_Integer theNUmin, const Standard_Integer 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 Standard_Real theDefl, const Standard_Integer theNUmin, const Standard_Integer theNVmin)
 Compute the sample-points for the intersections algorithms by adaptive algorithm for BSpline surfaces - is used in SamplePnts.
 
virtual Standard_Boolean 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 ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean 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.
 
Standard_Boolean IsKind (const Standard_CString 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.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Static Public Member Functions

static void GetConeApexParam (const gp_Cone &theC, Standard_Real &theU, Standard_Real &theV)
 Computes the cone's apex parameters.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const char * get_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

Handle< Adaptor3d_SurfacemyS
 
Standard_Integer myNbSamplesU
 
Standard_Integer myNbSamplesV
 
Handle< TColStd_HArray1OfReal > myUPars
 
Handle< TColStd_HArray1OfReal > 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 Handle< Adaptor3d_Surface > & Surface)

Member Function Documentation

◆ BSplSamplePnts()

virtual void Adaptor3d_TopolTool::BSplSamplePnts ( const Standard_Real theDefl,
const Standard_Integer theNUmin,
const Standard_Integer theNVmin )
virtual

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

Parameters
theDefl[in] required deflection
theNUmin[in] minimal nb points for U
theNVmin[in] minimal nb points for V

◆ Classify()

virtual TopAbs_State Adaptor3d_TopolTool::Classify ( const gp_Pnt2d & P,
const Standard_Real Tol,
const Standard_Boolean ReacdreOnPeriodic = Standard_True )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ ComputeSamplePoints()

virtual void Adaptor3d_TopolTool::ComputeSamplePoints ( )
virtual

◆ DomainIsInfinite()

virtual Standard_Boolean Adaptor3d_TopolTool::DomainIsInfinite ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Edge()

virtual Standard_Address Adaptor3d_TopolTool::Edge ( ) const
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ GetConeApexParam()

static void Adaptor3d_TopolTool::GetConeApexParam ( const gp_Cone & theC,
Standard_Real & theU,
Standard_Real & 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 Standard_Boolean 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 Standard_Boolean Adaptor3d_TopolTool::Identical ( const Handle< Adaptor3d_HVertex > & V1,
const 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 Handle< Adaptor2d_Curve2d > & Curve)
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Initialize() [3/3]

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

◆ InitVertexIterator()

virtual void Adaptor3d_TopolTool::InitVertexIterator ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ IsThePointOn()

virtual Standard_Boolean Adaptor3d_TopolTool::IsThePointOn ( const gp_Pnt2d & P,
const Standard_Real Tol,
const Standard_Boolean ReacdreOnPeriodic = Standard_True )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ IsUniformSampling()

virtual Standard_Boolean Adaptor3d_TopolTool::IsUniformSampling ( ) const
virtual

Returns true if provide uniform sampling of points.

◆ More()

virtual Standard_Boolean Adaptor3d_TopolTool::More ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ MoreVertex()

virtual Standard_Boolean Adaptor3d_TopolTool::MoreVertex ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ NbSamples()

virtual Standard_Integer Adaptor3d_TopolTool::NbSamples ( )
virtual

compute the sample-points for the intersections algorithms

Reimplemented in BRepTopAdaptor_TopolTool, and IntTools_TopolTool.

◆ NbSamplesU()

virtual Standard_Integer Adaptor3d_TopolTool::NbSamplesU ( )
virtual

compute the sample-points for the intersections algorithms

Reimplemented in BRepTopAdaptor_TopolTool, and IntTools_TopolTool.

◆ NbSamplesV()

virtual Standard_Integer Adaptor3d_TopolTool::NbSamplesV ( )
virtual

compute the sample-points for the intersections algorithms

Reimplemented in BRepTopAdaptor_TopolTool, and IntTools_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 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 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 Handle< Adaptor3d_HVertex > & V) const
virtual

returns 3d point of the vertex V

Reimplemented in BRepTopAdaptor_TopolTool.

◆ SamplePnts()

virtual void Adaptor3d_TopolTool::SamplePnts ( const Standard_Real theDefl,
const Standard_Integer theNUmin,
const Standard_Integer 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
theDefl[in] a required deflection
theNUmin[in] minimal nb points for U
theNVmin[in] minimal nb points for V

Reimplemented in IntTools_TopolTool.

◆ SamplePoint()

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

◆ Tol3d() [1/2]

virtual Standard_Real Adaptor3d_TopolTool::Tol3d ( const Handle< Adaptor2d_Curve2d > & C) const
virtual

returns 3d tolerance of the arc C

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Tol3d() [2/2]

virtual Standard_Real Adaptor3d_TopolTool::Tol3d ( const Handle< Adaptor3d_HVertex > & V) const
virtual

returns 3d tolerance of the vertex V

Reimplemented in BRepTopAdaptor_TopolTool.

◆ UParameters()

void Adaptor3d_TopolTool::UParameters ( TColStd_Array1OfReal & theArray) const

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

◆ Value()

virtual Handle< Adaptor2d_Curve2d > Adaptor3d_TopolTool::Value ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ Vertex()

virtual Handle< Adaptor3d_HVertex > Adaptor3d_TopolTool::Vertex ( )
virtual

Reimplemented in BRepTopAdaptor_TopolTool.

◆ VParameters()

void Adaptor3d_TopolTool::VParameters ( TColStd_Array1OfReal & theArray) const

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

Field Documentation

◆ myNbSamplesU

Standard_Integer Adaptor3d_TopolTool::myNbSamplesU
protected

◆ myNbSamplesV

Standard_Integer Adaptor3d_TopolTool::myNbSamplesV
protected

◆ myS

Handle< Adaptor3d_Surface > Adaptor3d_TopolTool::myS
protected

◆ myUPars

Handle< TColStd_HArray1OfReal > Adaptor3d_TopolTool::myUPars
protected

◆ myVPars

Handle< TColStd_HArray1OfReal > Adaptor3d_TopolTool::myVPars
protected

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