BaseGeometry (object)¶
BaseGeometry is a base class for geometry types such as PolygonMesh which regroups common functionality, such as the GeometryAttribute container or base support for statistics. Note that although the BaseGeometry contains the attribute container, attribute values management is Geometry specific.
Members¶
GeometryAttributes | attributes | Container for all attributes. |
String | debugName | Name that will be printed in descriptions. |
UInt32 | structureVersion | Version of the geometry structure itself, excluding the GeometryAttributes content. |
Boolean | computeGPUBoundingVolume | If positions are on the GPU: if true, the bounding volume is computed, else an infinite bbox is returned. |
ThreadsafeMetaDataContainer | metaData | Container for holding various user data (Geometry specific), such as the BoundingBox cache data, or raycast acceleration structures and data (Octree). |
Methods¶
BaseGeometry ( in BaseGeometry other ) | |
BaseGeometry () | |
applyTransform ! ( in Mat44 transform ) | |
applyTransform ! ( in Xfo transform ) | |
clear ! () | |
BaseGeometry | clone ? () |
Vec3[] | getAllPointPositions ? () |
Boolean | getAttributeValueArray_CheckIndex ? ( in SInt32 mode, io Size vertexCount, io Size faceCount, io Size faceCornerTotalCount, io Size resultSize, io UInt32 idxs[] ) |
LocalBoundingVolume | getBoundingVolume ? () |
Ref<ThreadsafeMetaDataContainer> | getMetaDataContainer ? () |
Vec3 | getPosition ? ( in Size point ) |
Size | pointCount ? () |
setAllPointPositions ! ( in Vec3 positions[] ) | |
Boolean | setAttributeValueArray_CheckIndex ? ( in SInt32 mode, io UInt32 idxs[], io Size vertexCount, io Size faceCount, io Size faceCornerTotalCount, io Size resultSize ) |
setPosition ! ( in Size point, in Vec3 position ) |
Methods in detail¶
BaseGeometry ( in BaseGeometry other )
copy constructor
BaseGeometry ()
default constructor
BaseGeometry.applyTransform! ( in Mat44 transform )
BaseGeometry.applyTransform! ( in Xfo transform )
BaseGeometry.clear! ()
Resets the content, including the attributes, but increments geometry’s version.
BaseGeometry BaseGeometry.clone? ()
clone method
Vec3[] BaseGeometry.getAllPointPositions? ()
Boolean BaseGeometry.getAttributeValueArray_CheckIndex? ( in SInt32 mode, io Size vertexCount, io Size faceCount, io Size faceCornerTotalCount, io Size resultSize, io UInt32 idxs[] )
LocalBoundingVolume BaseGeometry.getBoundingVolume? ()
Returns the bounding volume of the geometry, as computed from the positions attribute. This function will cache the bounding box given a specific version of the positions attribute, and will update it lazily, in a thread-safe fashion. The internal cache is stored in the BaseGeometry.metaData container.
Ref<ThreadsafeMetaDataContainer> BaseGeometry.getMetaDataContainer? ()
Implementation of ThreadsafeMetaDataOwner
Vec3 BaseGeometry.getPosition? ( in Size point )
Size BaseGeometry.pointCount? ()
BaseGeometry.setAllPointPositions! ( in Vec3 positions[] )
Boolean BaseGeometry.setAttributeValueArray_CheckIndex? ( in SInt32 mode, io UInt32 idxs[], io Size vertexCount, io Size faceCount, io Size faceCornerTotalCount, io Size resultSize )
BaseGeometry.setPosition! ( in Size point, in Vec3 position )