E3d_GeometryFreeFree a Geometry
void E3d_GeometryFree(E3dGeometry* LGeometry)Arguments
E3dGeometry* LGeometry Pointer to the E3dGeometry to be freedDescription
This function first decrements the reference count (RefCnt field) of the given Geometry structure (if it's not already zero).
Then, if RefCnt is still greater than zero, E3d_GeometryFree() will simply return.
If RefCnt is zero, E3d_GeometryFree() will free all the memory associated with this Geometry and the Geometry structure itself.
Note that there are separate functions for allocating different kinds of Geometries, but any Geometry can and should be freed by calling E3d_GeometryFree().
E3d_GeometryTransformPerform transformation on a Geometry
void E3d_GeometryTransform(E3dGeometry* LGeometry, E3dMatrix LMatrix)Arguments
E3dGeometry* LGeometry The Geometry to be transformed E3dMatrix LMatrix The Matrix, defining the transformationDescription
This function performs the transformation, described by LMatrix, on the given Geometry, by transforming the actual Vertices (of a Mesh), CVs (of a Spline, Face etc.) etc..
This operation is sometimes referred to as "Freezing the transformation" of an object, or more colloquially: "baking the transformation into a Geometry / object".
E3d_GeometryCloneClone a Geometry
E3dGeometry* E3d_GeometryClone(E3dGeometry* LGeometry, int LFlags)Arguments
E3dGeometry* LGeometry Pointer to the E3dGeometry to be duplicated int LFlags Option flagsDescription
This function creates an exact duplicate of the given Geometry. The option flags are OR-ed together bits that have the following meaning:
E3dCLONE_CONSTRUCTION_HISTORY - Clone the resources in GeoInfo E3dCLONE_LODS - Clone Levels of Detail E3dCLONE_MATERIALS - Clone Materials (otherwise they will be shared)
A pointer to the copy, or NULL in case of an error
E3d_GeometryUpdateForDisplayUpdate a Geometry for drawing
void E3d_GeometryUpdateForDisplay(E3dGeometry* LGeometry, unsigned int LFlags)Arguments
E3dGeometry* LGeometry The Geometry to update unsigned int LFlags OR-ed together flags, telling what to updateDescription
This function updates the given Geometry for rendering (drawing). This is a platform-independent procedure that ensures that the given Geometry will be drawn correctly after changes to its components. Calling this function for a Geometry after change, with only the necessary flags set, helps EQUINOX-3D greatly improve performance by only updating things that really changed. For example, if the position of a few Vertices changed in a Mesh, use the E3dGF_SHAPE flag bit.