![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
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. | |
| void | Clear () |
| Clears list of Points/Vectors and data about Transformation. | |
| void | AddXY (const gp_XY &val) |
| Adds a XY (Z=0) to the list of points. | |
| void | AddXYZ (const gp_XYZ &val) |
| Adds a XYZ to the list of points. | |
| 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. | |
| int | NbPoints () const |
| Returns the count of already recorded points. | |
| gp_XYZ | Point (const int num) const |
| Returns a point given its rank (if added as XY, Z will be 0) | |
| occ::handle< IGESGeom_CopiousData > | MakeCopiousData (const int datatype, const bool polyline=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. | |
| 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. | |
| void | SetPosition (const gp_Trsf &pos) |
| Sets final position from an already defined Trsf. | |
| void | SetPosition (const gp_Ax3 &pos) |
| Sets final position from an Ax3. | |
| void | SetPosition (const gp_Ax2 &pos) |
| Sets final position from an Ax2. | |
| 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) | |
| bool | IsIdentity () const |
| Returns True if the Position is Identity. | |
| bool | IsTranslation () const |
| Returns True if the Position is a Translation only Remark : Identity and ZOnly will answer True. | |
| bool | 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. | |
| void | EvalXYZ (const gp_XYZ &val, double &X, double &Y, double &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) | |
| occ::handle< IGESGeom_TransformationMatrix > | MakeTransformation (const double 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. | |
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.
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::Clear | ( | ) |
Clears list of Points/Vectors and data about Transformation.
| void IGESConvGeom_GeomBuilder::EvalXYZ | ( | const gp_XYZ & | val, |
| double & | X, | ||
| double & | Y, | ||
| double & | 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)
| bool IGESConvGeom_GeomBuilder::IsIdentity | ( | ) | const |
Returns True if the Position is Identity.
| bool IGESConvGeom_GeomBuilder::IsTranslation | ( | ) | const |
Returns True if the Position is a Translation only Remark : Identity and ZOnly will answer True.
| bool 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.
| occ::handle< IGESGeom_CopiousData > IGESConvGeom_GeomBuilder::MakeCopiousData | ( | const int | datatype, |
| const bool | polyline = 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.
| occ::handle< IGESGeom_TransformationMatrix > IGESConvGeom_GeomBuilder::MakeTransformation | ( | const double | 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.
| int IGESConvGeom_GeomBuilder::NbPoints | ( | ) | const |
Returns the count of already recorded points.
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.
Sets final position from an Ax1 (this means that origin point and Z-axis are defined, the other axes are defined arbitrarily)
Sets final position from an already defined Trsf.