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.

BaseGeometry BaseGeometry BaseGeometry StatisticSourceWithAutoRegisterMember StatisticSourceWithAutoRegisterMember BaseGeometry->StatisticSourceWithAutoRegisterMember ThreadsafeMetaDataOwner ThreadsafeMetaDataOwner BaseGeometry->ThreadsafeMetaDataOwner Versioned Versioned BaseGeometry->Versioned Curves Curves Curves->BaseGeometry DrawElements DrawElements DrawElements->BaseGeometry Lines Lines Lines->BaseGeometry Points Points Points->BaseGeometry PolygonMesh PolygonMesh PolygonMesh->BaseGeometry

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 )