Open CASCADE Technology 7.8.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 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 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 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 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 Standard_Integer num, const gp_XYZ &pos, const Standard_Real 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 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 preceding 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 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. | |
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) -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 | ( | ) |
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 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 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 |
Returns True if analysis was performed, else returns False.
void ShapeAnalysis_WireVertex::Load | ( | const Handle< ShapeExtend_WireData > & | sbwd | ) |
void ShapeAnalysis_WireVertex::Load | ( | const TopoDS_Wire & | wire | ) |
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 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 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 preceding 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 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 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 preceding one lies on it at the Precision of <me> <upre> gives the parameter on the preceding 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.