Open CASCADE Technology
7.1.0.beta
|
This class provides some useful basic tools to build IGESGeom curves, especially : define a curve in a plane in 3D space (ex. Circular or Conic arc, or Copious Data defined in 2D) make a CopiousData from a list of points/vectors. More...
#include <IGESConvGeom_GeomBuilder.hxx>
Public Member Functions | |
IGESConvGeom_GeomBuilder () | |
Creates a GeomBuilder at initial state. More... | |
void | Clear () |
Clears list of Points/Vectors and data about Transformation. More... | |
void | AddXY (const gp_XY &val) |
Adds a XY (Z=0) to the list of points. More... | |
void | AddXYZ (const gp_XYZ &val) |
Adds a XYZ to the list of points. More... | |
void | AddVec (const gp_XYZ &val) |
Adds a Vector part to the list of points. It will be used for CopiousData, datatype=3, only. AddXY and AddXYZ consider a null vector part (0,0,0) AddVec adds to the last added XY or XYZ. More... | |
Standard_Integer | NbPoints () const |
Returns the count of already recorded points. More... | |
gp_XYZ | Point (const Standard_Integer num) const |
Returns a point given its rank (if added as XY, Z will be 0) More... | |
Handle< IGESGeom_CopiousData > | MakeCopiousData (const Standard_Integer datatype, const Standard_Boolean polyline=Standard_False) const |
Makes a CopiousData with the list of recorded Points/Vectors according to <datatype>, which must be 1,2 or 3 If <polyline> is given True, the CopiousData is coded as a Polyline, but <datatype> must not be 3 <datatype> = 1 : Common Z is computed as average of all Z <datatype> = 1 or 2 : Vectors are ignored. More... | |
gp_Trsf | Position () const |
Returns the Position in which the method EvalXYZ will evaluate a XYZ. It can be regarded as defining a local system. It is initially set to Identity. More... | |
void | SetPosition (const gp_Trsf &pos) |
Sets final position from an already defined Trsf. More... | |
void | SetPosition (const gp_Ax3 &pos) |
Sets final position from an Ax3. More... | |
void | SetPosition (const gp_Ax2 &pos) |
Sets final position from an Ax2. More... | |
void | SetPosition (const gp_Ax1 &pos) |
Sets final position from an Ax1 (this means that origin point and Z-axis are defined, the other axes are defined arbitrarily) More... | |
Standard_Boolean | IsIdentity () const |
Returns True if the Position is Identity. More... | |
Standard_Boolean | IsTranslation () const |
Returns True if the Position is a Translation only Remark : Identity and ZOnly will answer True. More... | |
Standard_Boolean | IsZOnly () const |
Returns True if the Position corresponds to a Z-Displacement, i.e. is a Translation only, and only on Z Remark : Identity will answer True. More... | |
void | EvalXYZ (const gp_XYZ &val, Standard_Real &X, Standard_Real &Y, Standard_Real &Z) const |
Evaluates a XYZ value in the Position already defined. Returns the transformed coordinates. For a 2D definition, X,Y will then be used to define a XY and Z will be regarded as a Z Displacement (can be ignored) More... | |
Handle< IGESGeom_TransformationMatrix > | MakeTransformation (const Standard_Real unit=1) const |
Returns the IGES Transformation which corresponds to the Position. Even if it is an Identity : IsIdentity should be tested first. <unit> is the unit value in which the model is created : it is used to convert translation part. More... | |
This class provides some useful basic tools to build IGESGeom curves, especially : define a curve in a plane in 3D space (ex. Circular or Conic arc, or Copious Data defined in 2D) make a CopiousData from a list of points/vectors.
IGESConvGeom_GeomBuilder::IGESConvGeom_GeomBuilder | ( | ) |
Creates a GeomBuilder at initial state.
void IGESConvGeom_GeomBuilder::AddVec | ( | const gp_XYZ & | val | ) |
Adds a Vector part to the list of points. It will be used for CopiousData, datatype=3, only. AddXY and AddXYZ consider a null vector part (0,0,0) AddVec adds to the last added XY or XYZ.
void IGESConvGeom_GeomBuilder::AddXY | ( | const gp_XY & | val | ) |
Adds a XY (Z=0) to the list of points.
void IGESConvGeom_GeomBuilder::AddXYZ | ( | const gp_XYZ & | val | ) |
Adds a XYZ to the list of points.
void IGESConvGeom_GeomBuilder::Clear | ( | ) |
Clears list of Points/Vectors and data about Transformation.
void IGESConvGeom_GeomBuilder::EvalXYZ | ( | const gp_XYZ & | val, |
Standard_Real & | X, | ||
Standard_Real & | Y, | ||
Standard_Real & | Z | ||
) | const |
Evaluates a XYZ value in the Position already defined. Returns the transformed coordinates. For a 2D definition, X,Y will then be used to define a XY and Z will be regarded as a Z Displacement (can be ignored)
Standard_Boolean IGESConvGeom_GeomBuilder::IsIdentity | ( | ) | const |
Returns True if the Position is Identity.
Standard_Boolean IGESConvGeom_GeomBuilder::IsTranslation | ( | ) | const |
Returns True if the Position is a Translation only Remark : Identity and ZOnly will answer True.
Standard_Boolean IGESConvGeom_GeomBuilder::IsZOnly | ( | ) | const |
Returns True if the Position corresponds to a Z-Displacement, i.e. is a Translation only, and only on Z Remark : Identity will answer True.
Handle< IGESGeom_CopiousData > IGESConvGeom_GeomBuilder::MakeCopiousData | ( | const Standard_Integer | datatype, |
const Standard_Boolean | polyline = Standard_False |
||
) | const |
Makes a CopiousData with the list of recorded Points/Vectors according to <datatype>, which must be 1,2 or 3 If <polyline> is given True, the CopiousData is coded as a Polyline, but <datatype> must not be 3 <datatype> = 1 : Common Z is computed as average of all Z <datatype> = 1 or 2 : Vectors are ignored.
Handle< IGESGeom_TransformationMatrix > IGESConvGeom_GeomBuilder::MakeTransformation | ( | const Standard_Real | unit = 1 | ) | const |
Returns the IGES Transformation which corresponds to the Position. Even if it is an Identity : IsIdentity should be tested first. <unit> is the unit value in which the model is created : it is used to convert translation part.
Standard_Integer IGESConvGeom_GeomBuilder::NbPoints | ( | ) | const |
Returns the count of already recorded points.
gp_XYZ IGESConvGeom_GeomBuilder::Point | ( | const Standard_Integer | num | ) | const |
Returns a point given its rank (if added as XY, Z will be 0)
gp_Trsf IGESConvGeom_GeomBuilder::Position | ( | ) | const |
Returns the Position in which the method EvalXYZ will evaluate a XYZ. It can be regarded as defining a local system. It is initially set to Identity.
void IGESConvGeom_GeomBuilder::SetPosition | ( | const gp_Trsf & | pos | ) |
Sets final position from an already defined Trsf.
void IGESConvGeom_GeomBuilder::SetPosition | ( | const gp_Ax3 & | pos | ) |
Sets final position from an Ax3.
void IGESConvGeom_GeomBuilder::SetPosition | ( | const gp_Ax2 & | pos | ) |
Sets final position from an Ax2.
void IGESConvGeom_GeomBuilder::SetPosition | ( | const gp_Ax1 & | pos | ) |
Sets final position from an Ax1 (this means that origin point and Z-axis are defined, the other axes are defined arbitrarily)