|
Open CASCADE Technology
6.7.1
|
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... | |
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
| ShapeAnalysis_WireVertex::ShapeAnalysis_WireVertex | ( | ) |
Empty constructor
| 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
1.8.5