Open CASCADE Technology 7.8.2.dev
BRepFill_LocationLaw Class Reference

Location Law on a Wire. More...

#include <BRepFill_LocationLaw.hxx>

Inheritance diagram for BRepFill_LocationLaw:

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 Standard_Real AngularTolerance)
 Apply a linear transformation on each law, to reduce the dicontinuities of law at one rotation.
 
void DeleteTransform ()
 
Standard_Integer NbHoles (const Standard_Real Tol=1.0e-7)
 
void Holes (TColStd_Array1OfInteger &Interval) const
 
Standard_Integer NbLaw () const
 Return the number of elementary Law.
 
const Handle< GeomFill_LocationLaw > & Law (const Standard_Integer 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 Standard_Integer Index) const
 Return the Edge of rank <Index> in the path <Index> have to be in [1, NbLaw()].
 
TopoDS_Vertex Vertex (const Standard_Integer Index) const
 Return the vertex of rank <Index> in the path <Index> have to be in [0, NbLaw()].
 
void PerformVertex (const Standard_Integer Index, const TopoDS_Vertex &InputVertex, const Standard_Real TolMin, TopoDS_Vertex &OutputVertex, const Standard_Integer 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 Standard_Integer Index, Standard_Real &First, Standard_Real &Last) const
 Return the Curvilinear Bounds of the <Index> Law.
 
Standard_Boolean IsClosed () const
 
Standard_Integer IsG1 (const Standard_Integer Index, const Standard_Real SpatialTolerance=1.0e-7, const Standard_Real 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 Standard_Real Abscissa, TopoDS_Shape &Section)
 Apply the Law to a shape, for a given Curvilinear abscissa.
 
void Parameter (const Standard_Real Abscissa, Standard_Integer &Index, Standard_Real &Param)
 Find the index Law and the parameter, for a given Curvilinear abscissa.
 
Standard_Real Abscissa (const Standard_Integer Index, const Standard_Real 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 ()
 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.
 

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
 
Standard_Real myTol
 
Handle< GeomFill_HArray1OfLocationLaw > myLaws
 
Handle< TColStd_HArray1OfReal > myLength
 
Handle< TopTools_HArray1OfShape > myEdges
 
Handle< TColStd_HArray1OfInteger > 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 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.
 

Detailed Description

Location Law on a Wire.

Member Function Documentation

◆ Abscissa()

Standard_Real BRepFill_LocationLaw::Abscissa ( const Standard_Integer Index,
const Standard_Real 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 Standard_Integer Index,
Standard_Real & First,
Standard_Real & Last ) const

Return the Curvilinear Bounds of the <Index> Law.

◆ D0()

void BRepFill_LocationLaw::D0 ( const Standard_Real 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 Standard_Integer 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 ( TColStd_Array1OfInteger & 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()

Standard_Boolean BRepFill_LocationLaw::IsClosed ( ) const

◆ IsG1()

Standard_Integer BRepFill_LocationLaw::IsG1 ( const Standard_Integer Index,
const Standard_Real SpatialTolerance = 1.0e-7,
const Standard_Real 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 Handle< GeomFill_LocationLaw > & BRepFill_LocationLaw::Law ( const Standard_Integer Index) const

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

◆ NbHoles()

Standard_Integer BRepFill_LocationLaw::NbHoles ( const Standard_Real Tol = 1.0e-7)

◆ NbLaw()

Standard_Integer 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 Standard_Real Abscissa,
Standard_Integer & Index,
Standard_Real & Param )

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

◆ PerformVertex()

void BRepFill_LocationLaw::PerformVertex ( const Standard_Integer Index,
const TopoDS_Vertex & InputVertex,
const Standard_Real TolMin,
TopoDS_Vertex & OutputVertex,
const Standard_Integer 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 Standard_Real 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 Standard_Integer 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

Handle< TColStd_HArray1OfInteger > BRepFill_LocationLaw::myDisc
protected

◆ myEdges

Handle< TopTools_HArray1OfShape > BRepFill_LocationLaw::myEdges
protected

◆ myLaws

Handle< GeomFill_HArray1OfLocationLaw > BRepFill_LocationLaw::myLaws
protected

◆ myLength

Handle< TColStd_HArray1OfReal > BRepFill_LocationLaw::myLength
protected

◆ myPath

TopoDS_Wire BRepFill_LocationLaw::myPath
protected

◆ myTol

Standard_Real BRepFill_LocationLaw::myTol
protected

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