![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Analyzes and records status of vertices in a Wire. More...
#include <ShapeAnalysis_WireVertex.hxx>
Public Member Functions | |
| ShapeAnalysis_WireVertex () | |
| Empty constructor. | |
| void | Init (const TopoDS_Wire &wire, const double preci) |
| void | Init (const occ::handle< ShapeExtend_WireData > &swbd, const double preci) |
| void | Load (const TopoDS_Wire &wire) |
| void | Load (const occ::handle< ShapeExtend_WireData > &sbwd) |
| void | SetPrecision (const double preci) |
| Sets the precision for work Analysing: for each Vertex, comparison between the end of the preceding 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 preceding one, <num+1> is the following one. | |
| void | Analyze () |
| void | SetSameVertex (const int num) |
| Records status "Same Vertex" (logically) on Vertex <num> | |
| void | SetSameCoords (const int num) |
| Records status "Same Coords" (at the Vertices Tolerances) | |
| void | SetClose (const int num) |
| Records status "Close Coords" (at the Precision of <me>) | |
| void | SetEnd (const int num, const gp_XYZ &pos, const double ufol) |
| <num> is the End of preceding 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 int num, const gp_XYZ &pos, const double upre) |
| <num> is the Start of following Edge, its projection on the preceding one lies on it at the Precision of <me> <upre> gives the parameter on the preceding edge | |
| void | SetInters (const int num, const gp_XYZ &pos, const double upre, const double ufol) |
| <num> is the Intersection of both Edges <upre> is the parameter on preceding edge, <ufol> on following edge | |
| void | SetDisjoined (const int num) |
| <num> cannot be said as same vertex | |
| bool | IsDone () const |
| Returns True if analysis was performed, else returns False. | |
| double | Precision () const |
| Returns precision value used in analysis. | |
| int | NbEdges () const |
| Returns the number of edges in analyzed wire (i.e. the length of all arrays) | |
| const occ::handle< ShapeExtend_WireData > & | WireData () const |
| Returns analyzed wire. | |
| int | Status (const int num) const |
| Returns the recorded status for a vertex More detail by method Data. | |
| gp_XYZ | Position (const int num) const |
| double | UPrevious (const int num) const |
| double | UFollowing (const int num) const |
| int | Data (const int num, gp_XYZ &pos, double &upre, double &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 Preceding 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. | |
| int | NextStatus (const int stat, const int 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. | |
| int | NextCriter (const int crit, const int 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) | |
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 information can be used to fix problems
| ShapeAnalysis_WireVertex::ShapeAnalysis_WireVertex | ( | ) |
Empty constructor.
| void ShapeAnalysis_WireVertex::Analyze | ( | ) |
| int ShapeAnalysis_WireVertex::Data | ( | const int | num, |
| gp_XYZ & | pos, | ||
| double & | upre, | ||
| double & | 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 Preceding 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 occ::handle< ShapeExtend_WireData > & | swbd, |
| const double | preci ) |
| void ShapeAnalysis_WireVertex::Init | ( | const TopoDS_Wire & | wire, |
| const double | preci ) |
| bool ShapeAnalysis_WireVertex::IsDone | ( | ) | const |
Returns True if analysis was performed, else returns False.
| void ShapeAnalysis_WireVertex::Load | ( | const occ::handle< ShapeExtend_WireData > & | sbwd | ) |
| void ShapeAnalysis_WireVertex::Load | ( | const TopoDS_Wire & | wire | ) |
| int ShapeAnalysis_WireVertex::NbEdges | ( | ) | const |
Returns the number of edges in analyzed wire (i.e. the length of all arrays)
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)
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.
| double ShapeAnalysis_WireVertex::Precision | ( | ) | const |
Returns precision value used in analysis.
Records status "Close Coords" (at the Precision of <me>)
<num> is the End of preceding 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 int | num, |
| const gp_XYZ & | pos, | ||
| const double | upre, | ||
| const double | ufol ) |
<num> is the Intersection of both Edges <upre> is the parameter on preceding edge, <ufol> on following edge
Sets the precision for work Analysing: for each Vertex, comparison between the end of the preceding 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 preceding one, <num+1> is the following one.
Records status "Same Coords" (at the Vertices Tolerances)
Records status "Same Vertex" (logically) on Vertex <num>
<num> is the Start of following Edge, its projection on the preceding one lies on it at the Precision of <me> <upre> gives the parameter on the preceding edge
Returns the recorded status for a vertex More detail by method Data.
| const occ::handle< ShapeExtend_WireData > & ShapeAnalysis_WireVertex::WireData | ( | ) | const |
Returns analyzed wire.