#include <IfcModelerGeometry.h>
|
| ODRX_DECLARE_MEMBERS (OdIfcModelerGeometry) |
|
virtual bool | draw (OdGiWorldDraw *pWd) const =0 |
|
virtual void | transform (const OdGeMatrix3d &m)=0 |
|
virtual OdResult | getBoundingBox (OdGeExtents3d &box) const =0 |
|
virtual OdResult | copyBody (OdIfcModelerGeometryPtr b)=0 |
|
virtual OdResult | boolean (OdIfcHalfSpaceSolidPtr tool)=0 |
|
virtual OdResult | boolean (OdIfcModelerGeometryPtr tool, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0 |
|
virtual OdResult | boolean (OdIfcModelerGeometryPtr tool, OdIfcModelerGeometryPtr blank, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0 |
|
virtual OdResult | extrude (OdIfcProfileDefPtr profile, OdGeVector3d dir)=0 |
|
virtual OdResult | revolve (OdIfcProfileDefPtr profile, const OdGeVector3d &axisOfRevolution, const OdGePoint3d &axisPosition, double startAng, double endAng)=0 |
|
virtual OdResult | sweep (OdIfcSectionedSolidPtr pSolid)=0 |
|
virtual OdResult | sweepWithInclination (OdIfcProfileDefPtr pProfile, OdGeCurve3dPtr pPath, OdIfcAxisLateralInclinationPtr pInclination, bool isFixedAxisVertical)=0 |
|
virtual OdResult | sweepWithCant (OdIfcProfileDefPtr pProfile, OdGeCurve3dPtr pPath, OdIfcAlignmentCantPtr pInclination)=0 |
|
virtual OdResult | sweep (OdIfcSweptDiskSolidPtr pSolid)=0 |
|
virtual OdResult | sweep (OdIfcFixedReferenceSweptAreaSolidPtr pSolid)=0 |
|
virtual OdResult | createFacetedBrep (OdIfcConnectedFaceSetPtr pFaceSet)=0 |
|
virtual OdResult | createTessellation (const OdGePoint3dArray &vertices, const OdArray< OdArray< int > > &faces, OdDAI::Boolean isClosed, const OdGeVector3dArray &normals, const OdIfc::OdIfcVisualData *pData, const OdArray< IfcInteger > &flags=OdArray< IfcInteger >())=0 |
|
virtual OdResult | createTessellation (const OdGePoint3dArray &vertices, const OdDAIObjectIds &faces, OdDAI::Boolean isClosed, const OdIfc::OdIfcVisualData *pData)=0 |
|
virtual OdResult | createAdvancedBrep (OdIfcAdvancedBrepPtr pBrep)=0 |
|
virtual OdResult | box (const OdGePoint3d &ptOrigin, const OdGeVector3d &vSizes)=0 |
|
virtual OdResult | block (const OdGePoint3d &ptOrigin, double xLength, double yLength, double zLength)=0 |
|
virtual OdResult | rectangularPyramid (const OdGePoint3d &ptOrigin, double xLength, double yLength, double height)=0 |
|
virtual OdResult | rightCircularCone (const OdGePoint3d &ptOrigin, double height, double bottomRadius)=0 |
|
virtual OdResult | rightCircularCylinder (const OdGePoint3d &ptOrigin, double height, double radius)=0 |
|
virtual OdResult | sphere (const OdGePoint3d &ptOrigin, double radius)=0 |
|
virtual void | setDeviationParams (const OdIfcDeviationParams ¶ms)=0 |
|
virtual OdIBrFile * | brep () const =0 |
|
virtual OdIfcBodyVariant | bodyContainer () const =0 |
|
| ODRX_HEAP_OPERATORS () |
|
| OdRxObject () |
|
virtual | ~OdRxObject () |
|
virtual OdRxObject * | queryX (const OdRxClass *pClass) const |
|
virtual OdRxObject * | x (const OdRxClass *pClass) const |
|
virtual OdRxClass * | isA () const |
|
virtual void | addRef ()=0 |
|
virtual void | release ()=0 |
|
virtual long | numRefs () const |
|
bool | isKindOf (const OdRxClass *pClass) const |
|
virtual OdRxObjectPtr | clone () const |
|
virtual void | copyFrom (const OdRxObject *pSource) |
|
virtual OdRx::Ordering | comparedTo (const OdRxObject *pOther) const |
|
virtual bool | isEqualTo (const OdRxObject *pOther) const |
|
The class provides geometry modeler functionality for IFC SDK. It keeps a body for the visualization and other operations in the format of appropriate modeler implementation.
Definition at line 123 of file IfcModelerGeometry.h.
◆ block()
virtual OdResult OdIfc::OdIfcModelerGeometry::block |
( |
const OdGePoint3d & |
ptOrigin, |
|
|
double |
xLength, |
|
|
double |
yLength, |
|
|
double |
zLength |
|
) |
| |
|
pure virtual |
Creates a block body in the geometry modeler object.
- Parameters
-
ptOrigin | [in] A point that defines the block position. |
xLength | [in] A length of the block along the X-axis. |
yLength | [in] A length of the block along the Y-axis. |
zLength | [in] A length of the block along the Z-axis. |
- Returns
- Returns the operation result code: eOk if the block was successfully created; otherwise, the method returns an appropriate error code.
◆ bodyContainer()
Retrieves the container with the body from the geometry modeler object.
- Returns
- Returns an OdIfcBodyVariant object that represents the body container.
◆ boolean() [1/3]
Creates a half-space solid and stores it in the geometry modeler object.
- Parameters
-
tool | [in] A smart-pointer to the half-space solid object. |
- Returns
- Returns the creation result code: eOk if the half-space solid was successfully created. eNullEntityPointer if the tool has the illegal type. eGeneralModelingFailure in other cases.
◆ boolean() [2/3]
Performs a specified boolean operation between the currently stored blank body and the tool. The result of the operation is stored in the geometry modeler object instead of the currently stored body.
- Parameters
-
tool | [in] A tool operand represented with a smart-pointer to the geometry modeler object. |
op | [in] A type of the boolean operation to be performed. |
keep | [in] An option value that determines which operands stay unchanged after the operation. |
- Returns
- Returns the operation result code: eOk if the operation was performed successfully. eIllegalEntityType if operands have illegal types. eGeneralModelingFailure in other cases.
◆ boolean() [3/3]
Performs a specified boolean operation between the currently stored body and the tool. The result of the operation is stored in the specified geometry modeler object.
- Parameters
-
tool | [in] A tool operand. |
blank | [in] A blank operand. |
op | [in] A type of the boolean operation to be performed. |
keep | [in] An option value that determines which operands stay unchanged after the operation. |
- Returns
- Returns the operation result code: eOk if the operation was performed successfully. eIllegalEntityType if operands have illegal types. eGeneralModelingFailure in other cases.
◆ box()
Creates a box body in the geometry modeler object.
- Parameters
-
ptOrigin | [in] A point that defines the box position. |
vSizes | [in] The box sizes. |
- Returns
- Returns the operation result code: eOk if the box was successfully created; otherwise, the method returns an appropriate error code.
◆ brep()
virtual OdIBrFile * OdIfc::OdIfcModelerGeometry::brep |
( |
| ) |
const |
|
pure virtual |
Retrieves the OdBrFile interface from the geometry modeler object.
- Returns
- Returns a raw pointer to the OdIBrFile interface.
◆ copyBody()
Copies the body from a specified geometry modeler instance.
- Parameters
-
b | [in] A smart-pointer to the source geometry modeler object. |
- Returns
- Returns the copy result code: eOk if the body was successfully copied; eNullEntityPointer if the source is NULL; eIllegalEntityType if the source object is not an instance of the OdIfcModelerGeometry class.
◆ copyFrom()
void OdIfc::OdIfcModelerGeometry::copyFrom |
( |
const OdRxObject * |
pSource | ) |
|
|
protectedpure virtual |
details Copies the contents of the specified object into this object.
- Parameters
-
pSource | [in] Pointer to the source object. |
Throws: eNotApplicable Exception
Reimplemented from OdRxObject.
◆ createAdvancedBrep()
Creates an OdBrFile object from the specified OdIfcAdvnacedBrep object and stores it into the geometry modeler object.
- Parameters
-
pBrep | [in] A smart pointer to the OdIfcAdvancedBrep entity. |
- Returns
- Returns the operation result code: eOk if the operation was successful. eWrongObjectType if getting the attribute is failed. eNullObjectPointer if the specified OdIfcAdvancedBrep entity or its sub-entity has an unsupported type. eEmptySet if the specified OdIfcAdvancedBrep entity or its sub-entity has empty set; eGeneralModelingFailure in other cases.
◆ createFacetedBrep()
Creates a faceted body and stores it in the geometry modeler object.
- Parameters
-
pFaceSet | [in] A smart pointer to the set of faces for the body. |
- Returns
- Returns the operation result code: eOk if the faceted body was successfully created. eInvalidInput in other cases.
◆ createTessellation() [1/2]
Creates a tessellated body and stores it in the geometry modeler object.
- Parameters
-
vertices | [in] An array of points that represents the ordered list of points used by the faces. |
faces | [in] A two-dimensional array that contains the list for the indexed-based faces. |
isClosed | [in] A flag value that determines whether the tessellated body is a closed shell or not. |
normals | [in] An array of 3D vectors, which contain normals. |
pData | [in] A raw pointer to additional visual data (faces' colors and textures). |
flags | [in] Additional flags for each face indicating break lines between faces or designation as a hole or void. |
- Returns
- Returns the operation result code: eOk if the tessellated body was successfully created. eInvalidInput in other cases.
◆ createTessellation() [2/2]
virtual OdResult OdIfc::OdIfcModelerGeometry::createTessellation |
( |
const OdGePoint3dArray & |
vertices, |
|
|
const OdDAIObjectIds & |
faces, |
|
|
OdDAI::Boolean |
isClosed, |
|
|
const OdIfc::OdIfcVisualData * |
pData |
|
) |
| |
|
pure virtual |
Creates a tessellated body and stores it in the geometry modeler object.
- Parameters
-
vertices | [in] An array of points that represents the ordered list of points used by the faces. |
faces | [in] A two-dimensional array that contains the list for the indexed-based faces. |
isClosed | [in] A flag value that determines whether the tessellated body is a closed shell or not. |
pData | [in] A raw pointer to additional visual data (faces' colors and textures). |
- Returns
- Returns result code, eOk if all right, eInvalidInput in other cases.
◆ draw()
virtual bool OdIfc::OdIfcModelerGeometry::draw |
( |
OdGiWorldDraw * |
pWd | ) |
const |
|
pure virtual |
Draws the body to the <exref target="https://docs.opendesign.com/tv/OdGiWorldDraw.html">OdGiWorldDraw interface</exref>.
- Parameters
-
pWd | [in] A raw pointer to the object for the entity-level vectorization. |
- Returns
- true if the body was successfully drawn; otherwise the method returns false.
◆ extrude()
Creates an extrusion body and stores it in the geometry modeler object.
- Parameters
-
profile | [in] A smart pointer to the base profile for the extrusion. |
dir | [in] A vector object that represents the length and the direction of the extrusion. |
- Returns
- Returns the operation result code: eOk if the extrusion was performed successfully. eNullEntityPointer if the smart pointer to the base profile is NULL. eEmptySet if the base profile has no contours. eGeneralModelingFailure in other cases.
◆ getBoundingBox()
Calculates the extents of the body within the geometry modeler.
- Parameters
-
box | [out] A placeholder for the body extents object. |
- Returns
- Returns eOk if the bounding box was successfully returned; otherwise, the eNullExtents value is returned.
◆ ODRX_DECLARE_MEMBERS()
◆ rectangularPyramid()
virtual OdResult OdIfc::OdIfcModelerGeometry::rectangularPyramid |
( |
const OdGePoint3d & |
ptOrigin, |
|
|
double |
xLength, |
|
|
double |
yLength, |
|
|
double |
height |
|
) |
| |
|
pure virtual |
Creates a rectangular pyramid body in the geometry modeler object.
- Parameters
-
ptOrigin | [in] A point that defines the position of the pyramid. |
xLength | [in] A length of the pyramid along the X-axis. |
yLength | [in] A length of the pyramid along the Y-axis. |
height | [in] A height of the pyramid. |
- Returns
- Returns the operation result code: eOk if the pyramid was successfully created; otherwise, the method returns an appropriate error code.
◆ revolve()
Creates a revolution body and stores it in the geometry modeler object.
- Parameters
-
profile | [in] A smart pointer to the base profile for the extrusion. |
axisOfRevolution | [in] A vector object that represents the axis of the revolution that is used by the base profile for revolution body creation. |
axisPosition | [in] A point that defines the position of the revolution axis. |
startAng | [in] A starting angle value of the revolution. |
endAng | [in] An ending angle of the revolution. |
- Returns
- Returns the operation result code: eOk if the revolution was created successfully. eNullEntityPointer if the smart pointer to the base profile is NULL. eGeneralModelingFailure in other cases.
◆ rightCircularCone()
virtual OdResult OdIfc::OdIfcModelerGeometry::rightCircularCone |
( |
const OdGePoint3d & |
ptOrigin, |
|
|
double |
height, |
|
|
double |
bottomRadius |
|
) |
| |
|
pure virtual |
Creates a right circular cone body in the geometry modeler object.
- Parameters
-
ptOrigin | [in] A point that defines the position of cone. |
height | [in] A height of the cone. |
bottomRadius | [in] A radius of the cone. |
- Returns
- Returns the operation result code: eOk if the cone was successfully created; otherwise, the method returns an appropriate error code.
◆ rightCircularCylinder()
virtual OdResult OdIfc::OdIfcModelerGeometry::rightCircularCylinder |
( |
const OdGePoint3d & |
ptOrigin, |
|
|
double |
height, |
|
|
double |
radius |
|
) |
| |
|
pure virtual |
Creates a right circular cylinder body in the geometry modeler object.
- Parameters
-
ptOrigin | [in] A point that defines the position of the cylinder. |
height | [in] A height of the cylinder. |
radius | [in] a radius of the cylinder. |
- Returns
- Returns the operation result code: eOk if the cylinder was successfully created; otherwise, the method returns an appropriate error code.
◆ setDeviationParams()
Assigns deviation params to the geometry modeler object.
- Parameters
-
params | [in] A set of deviation parameters to be assigned. |
◆ sphere()
virtual OdResult OdIfc::OdIfcModelerGeometry::sphere |
( |
const OdGePoint3d & |
ptOrigin, |
|
|
double |
radius |
|
) |
| |
|
pure virtual |
Creates a sphere body in the geometry modeler object.
- Parameters
-
ptOrigin | [in] A point that defines the position of the sphere. |
radius | [in] A radius of the sphere. |
- Returns
- Returns the operation result code: eOk if the sphere was successfully created; otherwise, the method returns an appropriate error code.
◆ sweep() [1/3]
Creates a type of the swept area solid that is the result of the sweeping a specified area along a directrix. The swept area is provided by a subtype of the OdIfcProfileDef class. The profile is placed by an implicit cartesian transformation operator at the start point of the sweep, where the profile normal agrees to the tangent of the directrix at this point, and the profile's x-axis agrees to the FixedReference direction. The orientation of the curve during the sweeping operation is controlled by the FixedReference direction.
- Parameters
-
pSolid | [in] A smart pointer to the OdIfcFixedReferenceSweptAreaSolid entity. |
- Returns
- Returns the operation result code: eOk if the sweep operation was successful. eNullPtr if the smart pointer to the OdIfcFixedReferenceSweptAreaSolid entity is NULL. eGeneralModelingFailure in other cases.
◆ sweep() [2/3]
Creates a solid constructed by sweeping potentially variable cross sections along a directrix.
- Parameters
-
pSolid | [in] A smart pointer to the sectioned solid entity. |
- Returns
- Returns the operation result code: eOk if the revolution was created successfully. eNullPtr if the smart pointer to the sectioned solid entity is NULL. eGeneralModelingFailure in other cases.
◆ sweep() [3/3]
Sweeps the body along a path and stores the result in the geometry modeler object.
- Parameters
-
pSolid | [in] A smart pointer to the swept disk solid entity. |
- Returns
- Returns the operation result code: eOk if the swept body was created successfully. eNullPtr if the smart pointer to the swept disk solid entity is NULL. eGeneralModelingFailure in other cases.
◆ sweepWithCant()
Creates a specialized sweep with cants. The orientation of the profile's x-axis is always follows the rule defined by the IfcAlignment.
- Parameters
-
pProfile | [in] A smart pointer to the base profile for the sweep. |
pPath | [in] A smart pointer to a curve object that defines the main sweep path. |
pCant | [in] Defines the lateral inclination of the sweep profile based on the sweep path. |
- Returns
- Returns result code, eOk if all right, eNullEntityPointer if pProfile or OdGeCurvePtrs are NULL, or eGeneralModelingFailure in other cases.
◆ sweepWithInclination()
Creates a specialized IfcDirectrixDistanceSweptAreaSolid object. The orientation of the profile's X-axis always follows the rule defined by the specified IfcAxisLateralInclination object.
- Parameters
-
pProfile | [in] A smart pointer to the base profile for the sweep. |
pPath | [in] A smart pointer to a curve object that defines the main sweep path. |
pInclination | [in] A smart pointer to an object that represents the lateral inclination of the base profile based on the specified path. |
isFixedAxisVertical | [in] A flag that Indicates whether the profile is oriented with its Y-axis facing upwards in +Z direction (true), or vertically perpendicular to the sweep directrix varying according to the slope (false). |
- Returns
- eOk if the method works successfully. eNullEntityPointer if the pProfile or the OdGeCurvePtrs smart pointers are NULL eGeneralModelingFailure in other cases.
◆ transform()
Transforms the body within the geometry modeler.
- Parameters
-
m | [in] A transformation matrix object. |
The documentation for this class was generated from the following file: