![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
![]()
|
IndexE3d_GeometryFree E3d_GeometryTransform E3d_GeometryClone E3d_GeometryUpdateForDisplay E3d_GeometryFreeFree a GeometrySyntax 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(). Return value None. See also E3d_FaceAllocate, E3d_MeshAllocate, E3d_SkinMeshAllocate, E3d_SplineAllocate E3d_GeometryTransformPerform transformation on a GeometrySyntax 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". Return value None. E3d_GeometryCloneClone a GeometrySyntax 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) Return value A pointer to the copy, or NULL in case of an error E3d_GeometryUpdateForDisplayUpdate a Geometry for drawingSyntax 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. Return value None. |