PolygonMeshTopology (struct)

A PolygonMeshTopology encapsulates the topological information for a PolygonMesh.

Please refer to the following guide for an in-depth description of the mesh structure, components and attributes:

PolygonMeshTopology PolygonMeshTopology PolygonMeshTopology

Methods

  PolygonMeshTopology ( in PolygonMeshTopology other )
  PolygonMeshTopology ()
PolygonMeshTopology clone ? ()
Size pointCount ? ()

Attributes methods

  setPointAttribute ? ( in Size point, io Color attributeValues[], in Color value )
  setPointAttribute ? ( in Size point, io Integer attributeValues[], in Integer value )
  setPointAttribute ? ( in Size point, io Mat33 attributeValues[], in Mat33 value )
  setPointAttribute ? ( in Size point, io Mat44 attributeValues[], in Mat44 value )
  setPointAttribute ? ( in Size point, io Quat attributeValues[], in Quat value )
  setPointAttribute ? ( in Size point, io RGB attributeValues[], in RGB value )
  setPointAttribute ? ( in Size point, io RGBA attributeValues[], in RGBA value )
  setPointAttribute ? ( in Size point, io Scalar attributeValues[], in LocalL16ScalarArray value )
  setPointAttribute ? ( in Size point, io Scalar attributeValues[], in Scalar value )
  setPointAttribute ? ( in Size point, io SkinningAttributeData attribute, in LocalL16UInt32Array indices, in LocalL16ScalarArray weights )
  setPointAttribute ? ( in Size point, io UInt16 attributeValues[], in LocalL16UInt16Array value )
  setPointAttribute ? ( in Size point, io UInt32 attributeValues[], in UInt32 value )
  setPointAttribute ? ( in Size point, io Vec2 attributeValues[], in Vec2 value )
  setPointAttribute ? ( in Size point, io Vec3 attributeValues[], in Vec3 value )
  setPointAttribute ? ( in Size point, io Vec3_d attributeValues[], in Vec3_d value )
  setPointAttribute ? ( in Size point, io Vec4 attributeValues[], in Vec4 value )

Polygon methods

Size getPolygonPoint ? ( in Size polygon, in Size polygonPointIndex )
  getPolygonPointAndNeighborIndex ? ( in Size polygon, in Size polygonPointIndex, out Size point, out Size pointNeighborIndex )
Size getPolygonPointIndex ? ( in Size polygon, in Size point )
  getPolygonPoints ? ( in Size polygon, out LocalL8UInt32Array points )
  getPolygonPointsAndNeighborIndices ? ( in Size polygon, out LocalL8UInt32Array points, out LocalIndexArray polygonPointIndices )
Size getPolygonSize ? ( in Size polygon )
Size nextPolygonPointIndex ? ( in Size polygon, in Size polygonPointIndex )
Size previousPolygonPointIndex ? ( in Size polygon, in Size polygonPointIndex )

Methods in detail

PolygonMeshTopology ( in PolygonMeshTopology other )

copy constructor


PolygonMeshTopology ()

default constructor


PolygonMeshTopology PolygonMeshTopology.clone? ()

clone method


Size PolygonMeshTopology.pointCount? ()


Attributes methods

PolygonMeshTopology.setPointAttribute? ( in Size point, io Color attributeValues[], in Color value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Integer attributeValues[], in Integer value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Mat33 attributeValues[], in Mat33 value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Mat44 attributeValues[], in Mat44 value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Quat attributeValues[], in Quat value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io RGB attributeValues[], in RGB value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io RGBA attributeValues[], in RGBA value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Scalar attributeValues[], in LocalL16ScalarArray value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Scalar attributeValues[], in Scalar value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io SkinningAttributeData attribute, in LocalL16UInt32Array indices, in LocalL16ScalarArray weights )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io UInt16 attributeValues[], in LocalL16UInt16Array value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io UInt32 attributeValues[], in UInt32 value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Vec2 attributeValues[], in Vec2 value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Vec3 attributeValues[], in Vec3 value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Vec3_d attributeValues[], in Vec3_d value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


PolygonMeshTopology.setPointAttribute? ( in Size point, io Vec4 attributeValues[], in Vec4 value )

Sets an attribute’s value for all neighbors around the point (uniform / shared value). The attribute must be one of this mesh’s attributes.

注釈

Once values have been set for that attribute, call GeometryAttribute.incrementVersion (see Attribute versioning)

注釈

This function won’t change the attribute sharing layout. This function is threadsafe if the mesh structure and attribute sharing layout is not modified by another thread.


Polygon methods

Size PolygonMeshTopology.getPolygonPoint? ( in Size polygon, in Size polygonPointIndex )

Returns the Nth polygon point.

polygon Polygon index
polygonPointIndex Polygon point index, in the [0 .. PolygonMesh.getPolygonSize -1] range.


PolygonMeshTopology.getPolygonPointAndNeighborIndex? ( in Size polygon, in Size polygonPointIndex, out Size point, out Size pointNeighborIndex )

For a polygon and a specific polygonPointIndex, returns the point and associated neighborPolygonIndex

注釈

An exception will be thrown if point polygons are unordered (see 頂点の順序付けを遅らせる)

polygon Polygon index
polygonPointIndex Polygon point index, in the [0 .. PolygonMesh.getPolygonSize -1] range.
point Index of the connected point
pointNeighborIndex Index of this polygon within point’s neighbor polygons (0 .. PolygonMesh.getPointPolygonCount -1)


Size PolygonMeshTopology.getPolygonPointIndex? ( in Size polygon, in Size point )

Searches for a point among polygon points, and returns its polygonPointIndex if found, InvalidIndex otherwise.


PolygonMeshTopology.getPolygonPoints? ( in Size polygon, out LocalL8UInt32Array points )

Returns all polygon’s adjacent points. Returned array’s size will be PolygonMesh.getPolygonSize .

注釈

Calling this function is faster than getting points one by one


PolygonMeshTopology.getPolygonPointsAndNeighborIndices? ( in Size polygon, out LocalL8UInt32Array points, out LocalIndexArray polygonPointIndices )

Returns all polygon’s adjacent points, along with the neighborPolygonIndex relative to each point.

polygon Polygon index
points Point index array, with a size of PolygonMesh.getPolygonSize .
polygonPointIndices neighborPolygonIndex array, with a size of PolygonMesh.getPolygonSize .


Size PolygonMeshTopology.getPolygonSize? ( in Size polygon )

Returns the size of the polygon, which is number of points connected to this polygon (== the polygonPointIndex range for this polygon)


Size PolygonMeshTopology.nextPolygonPointIndex? ( in Size polygon, in Size polygonPointIndex )

Returns polygon’s next polygonPointIndex, treating the polygon point indices as a circular array. The returned polygonPointIndex is in the [0 .. PolygonMesh.getPolygonSize -1] range.

注釈

When calling this multiple times (eg: within a loop), caching the size and using NextOff ( polygonPointIndex, size ) will be faster.

polygon Polygon index
polygonPointIndex Polygon point index, in the [0 .. PolygonMesh.getPolygonSize -1] range.


Size PolygonMeshTopology.previousPolygonPointIndex? ( in Size polygon, in Size polygonPointIndex )

Returns polygon’s previous polygonPointIndex, treating the polygon point indices as a circular array. The returned polygonPointIndex is in the [0 .. PolygonMesh.getPolygonSize -1] range.

注釈

When calling this multiple times (eg: within a loop), caching the size and using PrevOff ( polygonPointIndex, size ) will be faster.

polygon Polygon index
polygonPointIndex Polygon point index, in the [0 .. PolygonMesh.getPolygonSize -1] range.