Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
More...

#include <ShapeAnalysis_WireVertex.hxx>

Public Member Functions

 ShapeAnalysis_WireVertex ()
 Empty constructor
More...
 
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
More...
 
void Analyze ()
 
void SetSameVertex (const Standard_Integer num)
 Records status "Same Vertex" (logically) on Vertex <num>
More...
 
void SetSameCoords (const Standard_Integer num)
 Records status "Same Coords" (at the Vertices Tolerances)
More...
 
void SetClose (const Standard_Integer num)
 Records status "Close Coords" (at the Precision of <me>)
More...
 
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
More...
 
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
More...
 
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
More...
 
void SetDisjoined (const Standard_Integer num)
 <num> cannot be said as same vertex
More...
 
Standard_Boolean IsDone () const
 Returns True if analysis was performed, else returns False
More...
 
Standard_Real Precision () const
 Returns precision value used in analysis
More...
 
Standard_Integer NbEdges () const
 Returns the number of edges in analyzed wire (i.e. the
length of all arrays)
More...
 
const Handle_ShapeExtend_WireData & WireData () const
 Returns analyzed wire
More...
 
Standard_Integer Status (const Standard_Integer num) const
 Returns the recorded status for a vertex
More detail by method Data
More...
 
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
-1 Disjoined no no no
More...
 
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
More...
 
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)
-1: no solution (status -1)
More...
 

Detailed Description

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

Constructor & Destructor Documentation

ShapeAnalysis_WireVertex::ShapeAnalysis_WireVertex ( )

Empty constructor

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

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
-1 Disjoined no no no

void ShapeAnalysis_WireVertex::Init ( const TopoDS_Wire wire,
const Standard_Real  preci 
)
void ShapeAnalysis_WireVertex::Init ( const Handle< ShapeExtend_WireData > &  swbd,
const Standard_Real  preci 
)
Standard_Boolean ShapeAnalysis_WireVertex::IsDone ( ) const

Returns True if analysis was performed, else returns False

void ShapeAnalysis_WireVertex::Load ( const TopoDS_Wire wire)
void ShapeAnalysis_WireVertex::Load ( const Handle< ShapeExtend_WireData > &  sbwd)
Standard_Integer ShapeAnalysis_WireVertex::NbEdges ( ) const

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

Standard_Integer ShapeAnalysis_WireVertex::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)
-1: no solution (status -1)

Standard_Integer ShapeAnalysis_WireVertex::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

gp_XYZ ShapeAnalysis_WireVertex::Position ( const Standard_Integer  num) const
Standard_Real ShapeAnalysis_WireVertex::Precision ( ) const

Returns precision value used in analysis

void ShapeAnalysis_WireVertex::SetClose ( const Standard_Integer  num)

Records status "Close Coords" (at the Precision of <me>)

void ShapeAnalysis_WireVertex::SetDisjoined ( const Standard_Integer  num)

<num> cannot be said as same vertex

void ShapeAnalysis_WireVertex::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 ShapeAnalysis_WireVertex::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 ShapeAnalysis_WireVertex::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 ShapeAnalysis_WireVertex::SetSameCoords ( const Standard_Integer  num)

Records status "Same Coords" (at the Vertices Tolerances)

void ShapeAnalysis_WireVertex::SetSameVertex ( const Standard_Integer  num)

Records status "Same Vertex" (logically) on Vertex <num>

void ShapeAnalysis_WireVertex::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

Standard_Integer ShapeAnalysis_WireVertex::Status ( const Standard_Integer  num) const

Returns the recorded status for a vertex
More detail by method Data

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

Returns analyzed wire


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