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

Contains information necessary for construction of a 3D fillet or chamfer: More...

#include <ChFiDS_Spine.hxx>

Inheritance diagram for ChFiDS_Spine:
Inheritance graph
[legend]

Public Member Functions

 ChFiDS_Spine ()
 
 ChFiDS_Spine (const double Tol)
 
void SetEdges (const TopoDS_Edge &E)
 store edges composing the guideline
 
void SetOffsetEdges (const TopoDS_Edge &E)
 store offset edges composing the offset guideline
 
void PutInFirst (const TopoDS_Edge &E)
 store the edge at the first position before all others
 
void PutInFirstOffset (const TopoDS_Edge &E)
 store the offset edge at the first position before all others
 
int NbEdges () const
 
const TopoDS_EdgeEdges (const int I) const
 
const TopoDS_EdgeOffsetEdges (const int I) const
 
void SetFirstStatus (const ChFiDS_State S)
 stores if the start of a set of edges starts on a section of free border or forms a closed contour
 
void SetLastStatus (const ChFiDS_State S)
 stores if the end of a set of edges starts on a section of free border or forms a closed contour
 
virtual void AppendElSpine (const occ::handle< ChFiDS_ElSpine > &Els)
 
virtual void AppendOffsetElSpine (const occ::handle< ChFiDS_ElSpine > &Els)
 
occ::handle< ChFiDS_ElSpineElSpine (const int IE) const
 
occ::handle< ChFiDS_ElSpineElSpine (const TopoDS_Edge &E) const
 
occ::handle< ChFiDS_ElSpineElSpine (const double W) const
 
NCollection_List< occ::handle< ChFiDS_ElSpine > > & ChangeElSpines ()
 
NCollection_List< occ::handle< ChFiDS_ElSpine > > & ChangeOffsetElSpines ()
 
virtual void Reset (const bool AllData=false)
 
bool SplitDone () const
 
void SplitDone (const bool B)
 
void Load ()
 prepare the guideline depending on the edges that are elementary arks (take parameters from a single curvilinear abscissa); to be able to call methods on the geometry (first,last,value,d1,d2) it is necessary to start with preparation otherwise an exception will be raised
 
double Resolution (const double R3d) const
 
bool IsClosed () const
 
double FirstParameter () const
 
double LastParameter () const
 
void SetFirstParameter (const double Par)
 
void SetLastParameter (const double Par)
 
double FirstParameter (const int IndexSpine) const
 gives the total length of all arcs before the number IndexSp
 
double LastParameter (const int IndexSpine) const
 gives the total length till the ark with number IndexSpine (inclus)
 
double Length (const int IndexSpine) const
 gives the length of ark with number IndexSp
 
bool IsPeriodic () const
 
double Period () const
 
double Absc (const double U)
 
double Absc (const double U, const int I)
 
void Parameter (const double AbsC, double &U, const bool Oriented=true)
 
void Parameter (const int Index, const double AbsC, double &U, const bool Oriented=true)
 
gp_Pnt Value (const double AbsC)
 
void D0 (const double AbsC, gp_Pnt &P)
 
void D1 (const double AbsC, gp_Pnt &P, gp_Vec &V1)
 
void D2 (const double AbsC, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
void SetCurrent (const int Index)
 
const BRepAdaptor_CurveCurrentElementarySpine (const int Index)
 sets the current curve and returns it
 
int CurrentIndexOfElementarySpine () const
 
GeomAbs_CurveType GetType () const
 
gp_Lin Line () const
 
gp_Circ Circle () const
 
ChFiDS_State FirstStatus () const
 returns if the set of edges starts on a free boundary or if the first vertex is a breakpoint or if the set is closed
 
ChFiDS_State LastStatus () const
 returns the state at the end of the set
 
ChFiDS_State Status (const bool IsFirst) const
 
ChFiDS_TypeOfConcavity GetTypeOfConcavity () const
 returns the type of concavity in the connection
 
void SetStatus (const ChFiDS_State S, const bool IsFirst)
 
void SetTypeOfConcavity (const ChFiDS_TypeOfConcavity theType)
 sets the type of concavity in the connection
 
bool IsTangencyExtremity (const bool IsFirst) const
 returns if the set of edges starts (or end) on Tangency point.
 
void SetTangencyExtremity (const bool IsTangency, const bool IsFirst)
 
double Absc (const TopoDS_Vertex &V) const
 
TopoDS_Vertex FirstVertex () const
 
TopoDS_Vertex LastVertex () const
 
void SetFirstTgt (const double W)
 
void SetLastTgt (const double W)
 
bool HasFirstTgt () const
 
bool HasLastTgt () const
 
void SetReference (const double W)
 set a parameter reference for the approx.
 
void SetReference (const int I)
 set a parameter reference for the approx, at the middle of edge I.
 
int Index (const double W, const bool Forward=true) const
 
int Index (const TopoDS_Edge &E) const
 
void UnsetReference ()
 
void SetErrorStatus (const ChFiDS_ErrorStatus state)
 
ChFiDS_ErrorStatus ErrorStatus () const
 
ChFiDS_ChamfMode Mode () const
 Return the mode of chamfers used.
 
double GetTolesp () const
 Return tolesp parameter.
 
- 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 Attributes

bool splitdone
 
NCollection_List< occ::handle< ChFiDS_ElSpine > > elspines
 
NCollection_List< occ::handle< ChFiDS_ElSpine > > offset_elspines
 
ChFiDS_ChamfMode myMode
 

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

Contains information necessary for construction of a 3D fillet or chamfer:

Tools for construction of the Sp by propagation from an edge of solid are provided in the Builder of Fil3d.

The Spine contains among others the information about the nature of extremities of the fillet ( on free border , on section or closed ).

IMPORTANT NOTE: the guideline represented in this way is not C2, although the path claims it. Several palliative workarounds (see the methods at the end) are planned, but they are not enough. It is necessary to change the approach and double the Spine of line C2 with the known consequences for management of interactions between KPart Blend in Fil3d.

Constructor & Destructor Documentation

◆ ChFiDS_Spine() [1/2]

ChFiDS_Spine::ChFiDS_Spine ( )

◆ ChFiDS_Spine() [2/2]

ChFiDS_Spine::ChFiDS_Spine ( const double Tol)

Member Function Documentation

◆ Absc() [1/3]

double ChFiDS_Spine::Absc ( const double U)

◆ Absc() [2/3]

double ChFiDS_Spine::Absc ( const double U,
const int I )

◆ Absc() [3/3]

double ChFiDS_Spine::Absc ( const TopoDS_Vertex & V) const

◆ AppendElSpine()

virtual void ChFiDS_Spine::AppendElSpine ( const occ::handle< ChFiDS_ElSpine > & Els)
virtual

Reimplemented in ChFiDS_FilSpine.

◆ AppendOffsetElSpine()

virtual void ChFiDS_Spine::AppendOffsetElSpine ( const occ::handle< ChFiDS_ElSpine > & Els)
virtual

◆ ChangeElSpines()

NCollection_List< occ::handle< ChFiDS_ElSpine > > & ChFiDS_Spine::ChangeElSpines ( )

◆ ChangeOffsetElSpines()

NCollection_List< occ::handle< ChFiDS_ElSpine > > & ChFiDS_Spine::ChangeOffsetElSpines ( )

◆ Circle()

gp_Circ ChFiDS_Spine::Circle ( ) const

◆ CurrentElementarySpine()

const BRepAdaptor_Curve & ChFiDS_Spine::CurrentElementarySpine ( const int Index)

sets the current curve and returns it

◆ CurrentIndexOfElementarySpine()

int ChFiDS_Spine::CurrentIndexOfElementarySpine ( ) const

◆ D0()

void ChFiDS_Spine::D0 ( const double AbsC,
gp_Pnt & P )

◆ D1()

void ChFiDS_Spine::D1 ( const double AbsC,
gp_Pnt & P,
gp_Vec & V1 )

◆ D2()

void ChFiDS_Spine::D2 ( const double AbsC,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )

◆ Edges()

const TopoDS_Edge & ChFiDS_Spine::Edges ( const int I) const

◆ ElSpine() [1/3]

occ::handle< ChFiDS_ElSpine > ChFiDS_Spine::ElSpine ( const double W) const

◆ ElSpine() [2/3]

occ::handle< ChFiDS_ElSpine > ChFiDS_Spine::ElSpine ( const int IE) const

◆ ElSpine() [3/3]

occ::handle< ChFiDS_ElSpine > ChFiDS_Spine::ElSpine ( const TopoDS_Edge & E) const

◆ ErrorStatus()

ChFiDS_ErrorStatus ChFiDS_Spine::ErrorStatus ( ) const

◆ FirstParameter() [1/2]

double ChFiDS_Spine::FirstParameter ( ) const

◆ FirstParameter() [2/2]

double ChFiDS_Spine::FirstParameter ( const int IndexSpine) const

gives the total length of all arcs before the number IndexSp

◆ FirstStatus()

ChFiDS_State ChFiDS_Spine::FirstStatus ( ) const

returns if the set of edges starts on a free boundary or if the first vertex is a breakpoint or if the set is closed

◆ FirstVertex()

TopoDS_Vertex ChFiDS_Spine::FirstVertex ( ) const

◆ GetTolesp()

double ChFiDS_Spine::GetTolesp ( ) const

Return tolesp parameter.

◆ GetType()

GeomAbs_CurveType ChFiDS_Spine::GetType ( ) const

◆ GetTypeOfConcavity()

ChFiDS_TypeOfConcavity ChFiDS_Spine::GetTypeOfConcavity ( ) const

returns the type of concavity in the connection

◆ HasFirstTgt()

bool ChFiDS_Spine::HasFirstTgt ( ) const

◆ HasLastTgt()

bool ChFiDS_Spine::HasLastTgt ( ) const

◆ Index() [1/2]

int ChFiDS_Spine::Index ( const double W,
const bool Forward = true ) const

◆ Index() [2/2]

int ChFiDS_Spine::Index ( const TopoDS_Edge & E) const

◆ IsClosed()

bool ChFiDS_Spine::IsClosed ( ) const

◆ IsPeriodic()

bool ChFiDS_Spine::IsPeriodic ( ) const

◆ IsTangencyExtremity()

bool ChFiDS_Spine::IsTangencyExtremity ( const bool IsFirst) const

returns if the set of edges starts (or end) on Tangency point.

◆ LastParameter() [1/2]

double ChFiDS_Spine::LastParameter ( ) const

◆ LastParameter() [2/2]

double ChFiDS_Spine::LastParameter ( const int IndexSpine) const

gives the total length till the ark with number IndexSpine (inclus)

◆ LastStatus()

ChFiDS_State ChFiDS_Spine::LastStatus ( ) const

returns the state at the end of the set

◆ LastVertex()

TopoDS_Vertex ChFiDS_Spine::LastVertex ( ) const

◆ Length()

double ChFiDS_Spine::Length ( const int IndexSpine) const

gives the length of ark with number IndexSp

◆ Line()

gp_Lin ChFiDS_Spine::Line ( ) const

◆ Load()

void ChFiDS_Spine::Load ( )

prepare the guideline depending on the edges that are elementary arks (take parameters from a single curvilinear abscissa); to be able to call methods on the geometry (first,last,value,d1,d2) it is necessary to start with preparation otherwise an exception will be raised

◆ Mode()

ChFiDS_ChamfMode ChFiDS_Spine::Mode ( ) const

Return the mode of chamfers used.

◆ NbEdges()

int ChFiDS_Spine::NbEdges ( ) const

◆ OffsetEdges()

const TopoDS_Edge & ChFiDS_Spine::OffsetEdges ( const int I) const

◆ Parameter() [1/2]

void ChFiDS_Spine::Parameter ( const double AbsC,
double & U,
const bool Oriented = true )

◆ Parameter() [2/2]

void ChFiDS_Spine::Parameter ( const int Index,
const double AbsC,
double & U,
const bool Oriented = true )

◆ Period()

double ChFiDS_Spine::Period ( ) const

◆ PutInFirst()

void ChFiDS_Spine::PutInFirst ( const TopoDS_Edge & E)

store the edge at the first position before all others

◆ PutInFirstOffset()

void ChFiDS_Spine::PutInFirstOffset ( const TopoDS_Edge & E)

store the offset edge at the first position before all others

◆ Reset()

virtual void ChFiDS_Spine::Reset ( const bool AllData = false)
virtual

Reimplemented in ChFiDS_FilSpine.

◆ Resolution()

double ChFiDS_Spine::Resolution ( const double R3d) const

◆ SetCurrent()

void ChFiDS_Spine::SetCurrent ( const int Index)

◆ SetEdges()

void ChFiDS_Spine::SetEdges ( const TopoDS_Edge & E)

store edges composing the guideline

◆ SetErrorStatus()

void ChFiDS_Spine::SetErrorStatus ( const ChFiDS_ErrorStatus state)

◆ SetFirstParameter()

void ChFiDS_Spine::SetFirstParameter ( const double Par)

◆ SetFirstStatus()

void ChFiDS_Spine::SetFirstStatus ( const ChFiDS_State S)

stores if the start of a set of edges starts on a section of free border or forms a closed contour

◆ SetFirstTgt()

void ChFiDS_Spine::SetFirstTgt ( const double W)

◆ SetLastParameter()

void ChFiDS_Spine::SetLastParameter ( const double Par)

◆ SetLastStatus()

void ChFiDS_Spine::SetLastStatus ( const ChFiDS_State S)

stores if the end of a set of edges starts on a section of free border or forms a closed contour

◆ SetLastTgt()

void ChFiDS_Spine::SetLastTgt ( const double W)

◆ SetOffsetEdges()

void ChFiDS_Spine::SetOffsetEdges ( const TopoDS_Edge & E)

store offset edges composing the offset guideline

◆ SetReference() [1/2]

void ChFiDS_Spine::SetReference ( const double W)

set a parameter reference for the approx.

◆ SetReference() [2/2]

void ChFiDS_Spine::SetReference ( const int I)

set a parameter reference for the approx, at the middle of edge I.

◆ SetStatus()

void ChFiDS_Spine::SetStatus ( const ChFiDS_State S,
const bool IsFirst )

◆ SetTangencyExtremity()

void ChFiDS_Spine::SetTangencyExtremity ( const bool IsTangency,
const bool IsFirst )

◆ SetTypeOfConcavity()

void ChFiDS_Spine::SetTypeOfConcavity ( const ChFiDS_TypeOfConcavity theType)

sets the type of concavity in the connection

◆ SplitDone() [1/2]

bool ChFiDS_Spine::SplitDone ( ) const

◆ SplitDone() [2/2]

void ChFiDS_Spine::SplitDone ( const bool B)

◆ Status()

ChFiDS_State ChFiDS_Spine::Status ( const bool IsFirst) const

◆ UnsetReference()

void ChFiDS_Spine::UnsetReference ( )

◆ Value()

gp_Pnt ChFiDS_Spine::Value ( const double AbsC)

Field Documentation

◆ elspines

NCollection_List<occ::handle<ChFiDS_ElSpine> > ChFiDS_Spine::elspines
protected

◆ myMode

ChFiDS_ChamfMode ChFiDS_Spine::myMode
protected

◆ offset_elspines

NCollection_List<occ::handle<ChFiDS_ElSpine> > ChFiDS_Spine::offset_elspines
protected

◆ splitdone

bool ChFiDS_Spine::splitdone
protected

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