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

Location Law on a Wire. More...

#include <BRepFill_LocationLaw.hxx>

Inheritance diagram for BRepFill_LocationLaw:
Inheritance graph
[legend]

Public Member Functions

GeomFill_PipeError GetStatus () const
 Return a error status, if the status is not PipeOk then it exist a parameter tlike the law is not valuable for t.
 
virtual void TransformInG0Law ()
 Apply a linear transformation on each law, to have continuity of the global law between the edges.
 
virtual void TransformInCompatibleLaw (const double AngularTolerance)
 Apply a linear transformation on each law, to reduce the dicontinuities of law at one rotation.
 
void DeleteTransform ()
 
int NbHoles (const double Tol=1.0e-7)
 
void Holes (NCollection_Array1< int > &Interval) const
 
int NbLaw () const
 Return the number of elementary Law.
 
const occ::handle< GeomFill_LocationLaw > & Law (const int Index) const
 Return the elementary Law of rank <Index> <Index> have to be in [1, NbLaw()].
 
const TopoDS_WireWire () const
 return the path
 
const TopoDS_EdgeEdge (const int Index) const
 Return the Edge of rank <Index> in the path <Index> have to be in [1, NbLaw()].
 
TopoDS_Vertex Vertex (const int Index) const
 Return the vertex of rank <Index> in the path <Index> have to be in [0, NbLaw()].
 
void PerformVertex (const int Index, const TopoDS_Vertex &InputVertex, const double TolMin, TopoDS_Vertex &OutputVertex, const int Location=0) const
 Compute <OutputVertex> like a transformation of <InputVertex> the transformation is given by evaluation of the location law in the vertex of rank <Index>. <Location> is used to manage discontinuities:
 
void CurvilinearBounds (const int Index, double &First, double &Last) const
 Return the Curvilinear Bounds of the <Index> Law.
 
bool IsClosed () const
 
int IsG1 (const int Index, const double SpatialTolerance=1.0e-7, const double AngularTolerance=1.0e-4) const
 Compute the Law's continuity between 2 edges of the path The result can be : -1 : Case Not connex 0 : It is connex (G0) 1 : It is tangent (G1)
 
void D0 (const double Abscissa, TopoDS_Shape &Section)
 Apply the Law to a shape, for a given Curvilinear abscissa.
 
void Parameter (const double Abscissa, int &Index, double &Param)
 Find the index Law and the parameter, for a given Curvilinear abscissa.
 
double Abscissa (const int Index, const double Param)
 Return the curvilinear abscissa corresponding to a point of the path, defined by <Index> of Edge and a parameter on the edge.
 
- 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.
 

Protected Member Functions

void Init (const TopoDS_Wire &Path)
 Initialize all the fields, this methode has to be called by the constructors of Inherited class.
 
void TangentIsMain ()
 To preserve if possible the Tangent in transformations It is the default mode.
 
void NormalIsMain ()
 To preserve if possible the Normal in transformations.
 
void BiNormalIsMain ()
 To preserve if possible the BiNormal in transformations.
 

Protected Attributes

TopoDS_Wire myPath
 
double myTol
 
occ::handle< NCollection_HArray1< occ::handle< GeomFill_LocationLaw > > > myLaws
 
occ::handle< NCollection_HArray1< double > > myLength
 
occ::handle< NCollection_HArray1< TopoDS_Shape > > myEdges
 
occ::handle< NCollection_HArray1< int > > myDisc
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- 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.
 

Detailed Description

Location Law on a Wire.

Member Function Documentation

◆ Abscissa()

double BRepFill_LocationLaw::Abscissa ( const int Index,
const double Param )

Return the curvilinear abscissa corresponding to a point of the path, defined by <Index> of Edge and a parameter on the edge.

◆ BiNormalIsMain()

void BRepFill_LocationLaw::BiNormalIsMain ( )
protected

To preserve if possible the BiNormal in transformations.

◆ CurvilinearBounds()

void BRepFill_LocationLaw::CurvilinearBounds ( const int Index,
double & First,
double & Last ) const

Return the Curvilinear Bounds of the <Index> Law.

◆ D0()

void BRepFill_LocationLaw::D0 ( const double Abscissa,
TopoDS_Shape & Section )

Apply the Law to a shape, for a given Curvilinear abscissa.

◆ DeleteTransform()

void BRepFill_LocationLaw::DeleteTransform ( )

◆ Edge()

const TopoDS_Edge & BRepFill_LocationLaw::Edge ( const int Index) const

Return the Edge of rank <Index> in the path <Index> have to be in [1, NbLaw()].

◆ GetStatus()

GeomFill_PipeError BRepFill_LocationLaw::GetStatus ( ) const

Return a error status, if the status is not PipeOk then it exist a parameter tlike the law is not valuable for t.

◆ Holes()

void BRepFill_LocationLaw::Holes ( NCollection_Array1< int > & Interval) const

◆ Init()

void BRepFill_LocationLaw::Init ( const TopoDS_Wire & Path)
protected

Initialize all the fields, this methode has to be called by the constructors of Inherited class.

◆ IsClosed()

bool BRepFill_LocationLaw::IsClosed ( ) const

◆ IsG1()

int BRepFill_LocationLaw::IsG1 ( const int Index,
const double SpatialTolerance = 1.0e-7,
const double AngularTolerance = 1.0e-4 ) const

Compute the Law's continuity between 2 edges of the path The result can be : -1 : Case Not connex 0 : It is connex (G0) 1 : It is tangent (G1)

◆ Law()

const occ::handle< GeomFill_LocationLaw > & BRepFill_LocationLaw::Law ( const int Index) const

Return the elementary Law of rank <Index> <Index> have to be in [1, NbLaw()].

◆ NbHoles()

int BRepFill_LocationLaw::NbHoles ( const double Tol = 1.0e-7)

◆ NbLaw()

int BRepFill_LocationLaw::NbLaw ( ) const

Return the number of elementary Law.

◆ NormalIsMain()

void BRepFill_LocationLaw::NormalIsMain ( )
protected

To preserve if possible the Normal in transformations.

◆ Parameter()

void BRepFill_LocationLaw::Parameter ( const double Abscissa,
int & Index,
double & Param )

Find the index Law and the parameter, for a given Curvilinear abscissa.

◆ PerformVertex()

void BRepFill_LocationLaw::PerformVertex ( const int Index,
const TopoDS_Vertex & InputVertex,
const double TolMin,
TopoDS_Vertex & OutputVertex,
const int Location = 0 ) const

Compute <OutputVertex> like a transformation of <InputVertex> the transformation is given by evaluation of the location law in the vertex of rank <Index>. <Location> is used to manage discontinuities:

  • -1 : The law before the vertex is used.
  • 1 : The law after the vertex is used.
  • 0 : Average of the both laws is used.

◆ TangentIsMain()

void BRepFill_LocationLaw::TangentIsMain ( )
protected

To preserve if possible the Tangent in transformations It is the default mode.

◆ TransformInCompatibleLaw()

virtual void BRepFill_LocationLaw::TransformInCompatibleLaw ( const double AngularTolerance)
virtual

Apply a linear transformation on each law, to reduce the dicontinuities of law at one rotation.

◆ TransformInG0Law()

virtual void BRepFill_LocationLaw::TransformInG0Law ( )
virtual

Apply a linear transformation on each law, to have continuity of the global law between the edges.

◆ Vertex()

TopoDS_Vertex BRepFill_LocationLaw::Vertex ( const int Index) const

Return the vertex of rank <Index> in the path <Index> have to be in [0, NbLaw()].

◆ Wire()

const TopoDS_Wire & BRepFill_LocationLaw::Wire ( ) const

return the path

Field Documentation

◆ myDisc

occ::handle<NCollection_HArray1<int> > BRepFill_LocationLaw::myDisc
protected

◆ myEdges

occ::handle<NCollection_HArray1<TopoDS_Shape> > BRepFill_LocationLaw::myEdges
protected

◆ myLaws

occ::handle<NCollection_HArray1<occ::handle<GeomFill_LocationLaw> > > BRepFill_LocationLaw::myLaws
protected

◆ myLength

occ::handle<NCollection_HArray1<double> > BRepFill_LocationLaw::myLength
protected

◆ myPath

TopoDS_Wire BRepFill_LocationLaw::myPath
protected

◆ myTol

double BRepFill_LocationLaw::myTol
protected

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