Open CASCADE Technology 6.6.0
Public Member Functions
ShapeAnalysis_WireVertex Class Reference

Analyzes and records status of vertices in a Wire

The Wire has formerly been loaded in a ShapeExtend_WireData
For each Vertex, a status and some data can be attached
(case found, position and parameters)
Then, these informations can be used to fix problems

#include <ShapeAnalysis_WireVertex.hxx>

Public Member Functions

 ShapeAnalysis_WireVertex ()
 Empty constructor

void Init (const TopoDS_Wire &wire, const Standard_Real preci)
void Init (const Handle< ShapeExtend_WireData > &swbd, const Standard_Real preci)
void Load (const TopoDS_Wire &wire)
void Load (const Handle< ShapeExtend_WireData > &sbwd)
void SetPrecision (const Standard_Real preci)
 Sets the precision for work
Analysing: for each Vertex, comparison between the end of the
preceeding edge and the start of the following edge
Each Vertex rank corresponds to the End Vertex of the Edge of
same rank, in the ShapeExtend_WireData. I.E. for Vertex <num>,
Edge <num> is the preceeding one, <num+1> is the following one

void Analyze ()
void SetSameVertex (const Standard_Integer num)
 Records status "Same Vertex" (logically) on Vertex <num>

void SetSameCoords (const Standard_Integer num)
 Records status "Same Coords" (at the Vertices Tolerances)

void SetClose (const Standard_Integer num)
 Records status "Close Coords" (at the Precision of <me>)

void SetEnd (const Standard_Integer num, const gp_XYZ &pos, const Standard_Real ufol)
 <num> is the End of preceeding Edge, and its projection on the
following one lies on it at the Precision of <me>
<ufol> gives the parameter on the following edge

void SetStart (const Standard_Integer num, const gp_XYZ &pos, const Standard_Real upre)
 <num> is the Start of following Edge, its projection on the
preceeding one lies on it at the Precision of <me>
<upre> gives the parameter on the preceeding edge

void SetInters (const Standard_Integer num, const gp_XYZ &pos, const Standard_Real upre, const Standard_Real ufol)
 <num> is the Intersection of both Edges
<upre> is the parameter on preceeding edge, <ufol> on
following edge

void SetDisjoined (const Standard_Integer num)
 <num> cannot be said as same vertex

Standard_Boolean IsDone () const
 Returns True if analysis was performed, else returns False

Standard_Real Precision () const
 Returns precision value used in analysis

Standard_Integer NbEdges () const
 Returns the number of edges in analyzed wire (i.e. the
length of all arrays)

const Handle_ShapeExtend_WireData & WireData () const
 Returns analyzed wire

Standard_Integer Status (const Standard_Integer num) const
 Returns the recorded status for a vertex
More detail by method Data

gp_XYZ Position (const Standard_Integer num) const
Standard_Real UPrevious (const Standard_Integer num) const
Standard_Real UFollowing (const Standard_Integer num) const
Standard_Integer Data (const Standard_Integer num, gp_XYZ &pos, Standard_Real &upre, Standard_Real &ufol) const
 Returns the recorded status for a vertex
With its recorded position and parameters on both edges
These values are relevant regarding the status:
Status Meaning Position Preceeding Following
0 Same no no no
1 SameCoord no no no
2 Close no no no
3 End yes no yes
4 Start yes yes no
5 Inters yes yes yes

Standard_Integer NextStatus (const Standard_Integer stat, const Standard_Integer num=0) const
 For a given status, returns the rank of the vertex which
follows <num> and has the same status. 0 if no more
Acts as an iterator, starts on the first one

Standard_Integer NextCriter (const Standard_Integer crit, const Standard_Integer num=0) const
 For a given criter, returns the rank of the vertex which
follows <num> and has the same status. 0 if no more
Acts as an iterator, starts on the first one
Criters are:
0: same vertex (status 0)
1: a solution exists (status >= 0)
2: same coords (i.e. same params) (status 0 1 2)
3: same coods but not same vertex (status 1 2)
4: redefined coords (status 3 4 5)


Constructor & Destructor Documentation

ShapeAnalysis_WireVertex::ShapeAnalysis_WireVertex ( )

Member Function Documentation

void ShapeAnalysis_WireVertex::Analyze ( )
Standard_Integer ShapeAnalysis_WireVertex::Data ( const Standard_Integer  num,
gp_XYZ pos,
Standard_Real upre,
Standard_Real ufol 
) const

-1 Disjoined no no no

void ShapeAnalysis_WireVertex::Init ( const Handle< ShapeExtend_WireData > &  swbd,
const Standard_Real  preci 
)
void ShapeAnalysis_WireVertex::Init ( const TopoDS_Wire wire,
const Standard_Real  preci 
)
Standard_Boolean ShapeAnalysis_WireVertex::IsDone ( ) const
void ShapeAnalysis_WireVertex::Load ( const Handle< ShapeExtend_WireData > &  sbwd)
void ShapeAnalysis_WireVertex::Load ( const TopoDS_Wire wire)
Standard_Integer ShapeAnalysis_WireVertex::NbEdges ( ) const
Standard_Integer ShapeAnalysis_WireVertex::NextCriter ( const Standard_Integer  crit,
const Standard_Integer  num = 0 
) const

-1: no solution (status -1)

Standard_Integer ShapeAnalysis_WireVertex::NextStatus ( const Standard_Integer  stat,
const Standard_Integer  num = 0 
) const
gp_XYZ ShapeAnalysis_WireVertex::Position ( const Standard_Integer  num) const
Standard_Real ShapeAnalysis_WireVertex::Precision ( ) const
void ShapeAnalysis_WireVertex::SetClose ( const Standard_Integer  num)
void ShapeAnalysis_WireVertex::SetDisjoined ( const Standard_Integer  num)
void ShapeAnalysis_WireVertex::SetEnd ( const Standard_Integer  num,
const gp_XYZ pos,
const Standard_Real  ufol 
)
void ShapeAnalysis_WireVertex::SetInters ( const Standard_Integer  num,
const gp_XYZ pos,
const Standard_Real  upre,
const Standard_Real  ufol 
)
void ShapeAnalysis_WireVertex::SetPrecision ( const Standard_Real  preci)
void ShapeAnalysis_WireVertex::SetSameCoords ( const Standard_Integer  num)
void ShapeAnalysis_WireVertex::SetSameVertex ( const Standard_Integer  num)
void ShapeAnalysis_WireVertex::SetStart ( const Standard_Integer  num,
const gp_XYZ pos,
const Standard_Real  upre 
)
Standard_Integer ShapeAnalysis_WireVertex::Status ( const Standard_Integer  num) const
Standard_Real ShapeAnalysis_WireVertex::UFollowing ( const Standard_Integer  num) const
Standard_Real ShapeAnalysis_WireVertex::UPrevious ( const Standard_Integer  num) const
const Handle_ShapeExtend_WireData& ShapeAnalysis_WireVertex::WireData ( ) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines