|
Open CASCADE Technology
6.7.1
|
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... | |
| Handle_TColgp_HArray1OfXY | MakeXY () const |
| Returns the list of points as a HArray1OfXY. Z are ignored. More... | |
| Handle_TColgp_HArray1OfXYZ | MakeXYZ () const |
| Returns the list of points as a HArray1OfXYZ 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
| Handle_TColgp_HArray1OfXY IGESConvGeom_GeomBuilder::MakeXY | ( | ) | const |
Returns the list of points as a HArray1OfXY. Z are ignored.
| Handle_TColgp_HArray1OfXYZ IGESConvGeom_GeomBuilder::MakeXYZ | ( | ) | const |
Returns the list of points as a HArray1OfXYZ
| 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)
1.8.5