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:
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
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. |