PolygonMeshPrimitives.kl¶
Types¶
PolygonMesh (object)¶
A PolygonMesh is a geometry made of a collection of polygons connected points. Attributes values, such as UVs and normals, can be attached to the points, and these are contained in a GeometryAttributes container. The PolygonMesh supports spatial queries such as raycast by implementing the SpatialQueryable interface.
注釈
Unless stated otherwise, functions that read the mesh are threadsafe only if the mesh structure or attribute sharing layout is not modified. Functions that modify the mesh structure or the attribute sharing layout are not threadsafe.
Please refer to the following guide for an in-depth description of the mesh structure, components and attributes:
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). |
PolygonMeshTopology | topology | |
UInt32 | memType | |
UInt32 | attributeSharingVersion | This version is automatically incremented when attribute sharing layout changes |
Boolean | maintainOrderedPointPolygons | If this is false, pointPolygons will not be reordered. This will increase performance if the mesh only needs to hold data with no need to query the structure. |
/*
** Example: PolygonMesh
*/
require Geometry;
operator entry() {
// create a simple polygon mesh
PolygonMesh mesh();
// begin changes before adding polygons
mesh.beginStructureChanges();
// create points and set their positions
Size firstPoint = mesh.createPoints(4);
mesh.setPointPosition( 0, Vec3( 0, 0, 0) );
mesh.setPointPosition( 1, Vec3( 1, 0, 0) );
mesh.setPointPosition( 2, Vec3( 0, 0, 1) );
mesh.setPointPosition( 3, Vec3( 1, 0, 1) );
// create a quad
mesh.addPolygon( 0, 2, 3, 1 );
// end changes bracket (batch update pointPolygons order)
mesh.endStructureChanges();
// generate default normals
mesh.recomputePointNormals();
// print the resulting structure
for( Size i = 0; i < mesh.polygonCount(); ++i ) {
report("Polygon " + i + ":");
for( Size j = 0; j < mesh.getPolygonSize(i); ++j ) {
UInt32 point = mesh.getPolygonPoint( i, j );
report( " Point " + point
+ ": pos=" + mesh.getPointPosition(point)
+ " normal=" + mesh.getPointNormal(point) );
}
}
}
/*
** Output:
Polygon 0:
Point 0: pos={x:+0.0,y:+0.0,z:+0.0} normal={x:+0.0,y:+1.0,z:+0.0}
Point 2: pos={x:+0.0,y:+0.0,z:+1.0} normal={x:+0.0,y:+1.0,z:+0.0}
Point 3: pos={x:+1.0,y:+0.0,z:+1.0} normal={x:+0.0,y:+1.0,z:+0.0}
Point 1: pos={x:+1.0,y:+0.0,z:+0.0} normal={x:+0.0,y:+1.0,z:+0.0}
*/
Methods¶
PolygonMesh ( in Boolean float64Positions ) | |
PolygonMesh ( in PolygonMesh other ) | |
PolygonMesh ( in String debugName ) | |
PolygonMesh ( in String debugName, in Boolean float64Positions ) | |
PolygonMesh () | |
UInt32 | addNoneOverlappingUVLayout ! ( in String attributeName, in Boolean fixedResolution, in UInt32 resolution, in Float32 pixelsPerSquare, in UInt32 maxResolution, in UInt32 margin, in Float32 smoothStrength, in UInt32 smoothIterations ) |
UInt32 | addUniqueUVAttribute ! ( in String attributeName, in Boolean fixedResolution, in UInt32 resolution, in Float32 pixelsPerSquare, in UInt32 maxResolution ) |
applyTransform ! ( in Mat44 transform ) | |
applyTransform ! ( in Xfo transform ) | |
Boolean | areGeometryLocationsEquivalent ? ( in GeometryLocation location0, in GeometryLocation location1 ) |
clear ! () | |
PolygonMesh | clone ? () |
cloneMembersTo ? ( io PolygonMesh that ) | |
Boolean | cloneUVs ? ( in String source, in String target ) |
convertToCPU ! () | |
convertToGPU ! () | |
copy ! ( in Geometry src ) | |
copy ! ( in PolygonMesh src ) | |
Size | createPoints ! ( in Size nb ) |
deleteUnusedPoints ! () | |
Size | elementCount ? () |
Vec3[] | getAllPointPositions ? () |
LocalBoundingVolume | getBoundingVolume ? () |
UInt32 | getClosestEdgeToLocation ? ( in GeometryLocation location, out Scalar weight ) |
String | getDebugName ? () |
LocalBoundingVolume | getElementBoundingVolume ? ( in Size index ) |
getLocationAttributeIndicesAndWeights ? ( in GeometryLocation location, out LocalL16UInt32Array attributeIndices, out LocalL16ScalarArray weights ) | |
UInt32 | getMemType ? () |
Ref<ThreadsafeMetaDataContainer> | getMetaData ? () |
UInt32 | getPointIterNextOffInWingInternal ? ( in DataIter pointIter, in UInt32 offset, in UInt32 nextOffset, in Size count, in DataIter borderDataIter ) |
Float32 | getPolygonArea ? ( in Index polygon ) |
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 ) | |
Float32 | getPolygonUVArea ? ( in Index polygon ) |
Float32 | getPolygonUVArea ? ( in Index polygon, in String attributeName ) |
UInt32 | getStructureVersion ? () |
UInt32 | getVersion ? () |
Boolean | hasFloat64Positions ? () |
incrementPointPositionsVersion ! () | |
Boolean | isLocationInternalEdge ? ( in GeometryLocation location, in Index edge ) |
Boolean | mapMaterialIDs ! ( in SInt32 newIDs<> ) |
Size | nextPolygonPointIndex ? ( in Size polygon, in Size polygonPointIndex ) |
Size | previousPolygonPointIndex ? ( in Size polygon, in Size polygonPointIndex ) |
setAllPointPositions ! ( in Vec3 positions[] ) | |
setMaterialIDOnAllPolygons ! ( in SInt32 id ) |
ImportExportHelpers methods¶
SpatialQueryable methods¶
Attributes methods¶
Boolean | arePointAttributesUniform ? ( in Size point ) |
Boolean | arePointIterAttributesUniform ? ( in DataIter pointIter ) |
Boolean | arePolygonAttributeUniformForAllCorners ? ( in Size polygon ) |
Ref<GeometryAttribute> | getAttribute ? ( in String name ) |
Ref<GeometryAttribute> | getAttribute ? ( in String name, in Type attributeType ) |
Ref<GeometryAttributes> | getAttributes ? () |
Ref<GeometryAttribute> | getOrCreateAttribute ! ( in String name, in Type attributeType ) |
Ref<ColorAttribute> | getOrCreateColorAttribute ! ( in String name ) |
Ref<IntegerAttribute> | getOrCreateIntegerAttribute ! ( in String name ) |
Ref<Mat33Attribute> | getOrCreateMat33Attribute ! ( in String name ) |
Ref<Mat44Attribute> | getOrCreateMat44Attribute ! ( in String name ) |
Ref<QuatAttribute> | getOrCreateQuatAttribute ! ( in String name ) |
Ref<RGBAAttribute> | getOrCreateRGBAAttribute ! ( in String name ) |
Ref<RGBAttribute> | getOrCreateRGBAttribute ! ( in String name ) |
Ref<ScalarAttribute> | getOrCreateScalarAttribute ! ( in String name ) |
Ref<ScalarConstantArrayAttribute> | getOrCreateScalarConstantArrayAttribute ! ( in String name ) |
Ref<SkinningAttribute> | getOrCreateSkinningAttribute ! ( in String name ) |
Ref<UInt16ConstantArrayAttribute> | getOrCreateUInt16ConstantArrayAttribute ! ( in String name ) |
Ref<UInt32Attribute> | getOrCreateUInt32Attribute ! ( in String name ) |
Ref<Vec2Attribute> | getOrCreateVec2Attribute ! ( in String name ) |
Ref<Vec3Attribute> | getOrCreateVec3Attribute ! ( in String name ) |
Ref<Vec3_dAttribute> | getOrCreateVec3_dAttribute ! ( in String name ) |
Ref<Vec4Attribute> | getOrCreateVec4Attribute ! ( in String name ) |
Size | getPointAttributeIndex ? ( in Size point ) |
Size | getPointAttributeIndex ? ( in Size point, in Size neighborPolygonIndex ) |
Size | getPointFromAttributeIndex ? ( in Size attributeIndex ) |
Size | getPolygonAttributeIndex ? ( in Size polygon, in Size polygonPointIndex ) |
getPolygonPackedSharedAttributeValues ? ( in Ref<GeometryAttribute> meshAttribute, io GeometryAttribute outValues, io UInt32 polygonPackedIndices[] ) | |
Boolean | has ? ( in String name ) |
Boolean | hasAttribute ? ( in String name ) |
Boolean | isPointAttributeUniform ? ( in Size point, in Ref<GeometryAttribute> attribute ) |
Boolean | isPolygonAttributeUniformForAllCorners ? ( in Size polygon, in Ref<GeometryAttribute> attribute ) |
removeAttribute ! ( in String name ) | |
resetAttributeAndAvoidSharingChanges ! ( in Ref<GeometryAttribute> attribute ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Color values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Color values<>, in Size optionalValuesIndices[] ) | |
setAttributeFromPolygonPackedData ! ( in String name, in RGB values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in RGB values<>, in Size optionalValuesIndices[] ) | |
setAttributeFromPolygonPackedData ! ( in String name, in RGBA values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in RGBA values<>, in Size optionalValuesIndices[] ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Scalar values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Scalar values<>, in Size optionalValuesIndices[] ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Vec2 values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Vec2 values<>, in Size optionalValuesIndices[] ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Vec3 values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Vec3 values<>, in Size optionalValuesIndices[] ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Vec4 values<> ) | |
setAttributeFromPolygonPackedData ! ( in String name, in Vec4 values<>, in Size optionalValuesIndices[] ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<ColorAttribute> attribute, in Color value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<Mat33Attribute> attribute, in Mat33 value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<Mat44Attribute> attribute, in Mat44 value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<QuatAttribute> attribute, in Quat value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<RGBAAttribute> attribute, in RGBA value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<RGBAttribute> attribute, in RGB value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<ScalarConstantArrayAttribute> attribute, in LocalL16ScalarArray value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<UInt16ConstantArrayAttribute> attribute, in LocalL16UInt16Array value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<UInt32Attribute> attribute, in UInt32 value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<Vec2Attribute> attribute, in Vec2 value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<Vec3Attribute> attribute, in Vec3 value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<Vec3_dAttribute> attribute, in Vec3_d value ) | |
setPointAttribute ! ( in Size point, in Size neighborPolygonIndex, io Ref<Vec4Attribute> attribute, in Vec4 value ) | |
setPointAttribute ! ( in Size point, io Ref<ColorAttribute> attribute, in Color value ) | |
setPointAttribute ! ( in Size point, io Ref<IntegerAttribute> attribute, in Integer value ) | |
setPointAttribute ! ( in Size point, io Ref<Mat33Attribute> attribute, in Mat33 value ) | |
setPointAttribute ! ( in Size point, io Ref<Mat44Attribute> attribute, in Mat44 value ) | |
setPointAttribute ! ( in Size point, io Ref<QuatAttribute> attribute, in Quat value ) | |
setPointAttribute ! ( in Size point, io Ref<RGBAAttribute> attribute, in RGBA value ) | |
setPointAttribute ! ( in Size point, io Ref<RGBAttribute> attribute, in RGB value ) | |
setPointAttribute ! ( in Size point, io Ref<ScalarAttribute> attribute, in Scalar value ) | |
setPointAttribute ! ( in Size point, io Ref<ScalarConstantArrayAttribute> attribute, in LocalL16ScalarArray value ) | |
setPointAttribute ! ( in Size point, io Ref<SkinningAttribute> attribute, in LocalL16UInt32Array indices, in LocalL16ScalarArray weights ) | |
setPointAttribute ! ( in Size point, io Ref<UInt16ConstantArrayAttribute> attribute, in LocalL16UInt16Array value ) | |
setPointAttribute ! ( in Size point, io Ref<UInt32Attribute> attribute, in UInt32 value ) | |
setPointAttribute ! ( in Size point, io Ref<Vec2Attribute> attribute, in Vec2 value ) | |
setPointAttribute ! ( in Size point, io Ref<Vec3Attribute> attribute, in Vec3 value ) | |
setPointAttribute ! ( in Size point, io Ref<Vec3_dAttribute> attribute, in Vec3_d value ) | |
setPointAttribute ! ( in Size point, io Ref<Vec4Attribute> attribute, in Vec4 value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<ColorAttribute> attribute, in Color value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<IntegerAttribute> attribute, in Integer value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<Mat33Attribute> attribute, in Mat33 value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<Mat44Attribute> attribute, in Mat44 value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<QuatAttribute> attribute, in Quat value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<RGBAAttribute> attribute, in RGBA value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<RGBAttribute> attribute, in RGB value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<ScalarAttribute> attribute, in Scalar value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<ScalarConstantArrayAttribute> attribute, in LocalL16ScalarArray value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<SkinningAttribute> attribute, in LocalL16UInt32Array indices, in LocalL16ScalarArray weights ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<UInt16ConstantArrayAttribute> attribute, in LocalL16UInt16Array value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<UInt32Attribute> attribute, in UInt32 value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<Vec2Attribute> attribute, in Vec2 value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<Vec3Attribute> attribute, in Vec3 value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<Vec3_dAttribute> attribute, in Vec3_d value ) | |
setPolygonAttribute ! ( in Size polygon, in Size polygonPointIndex, io Ref<Vec4Attribute> attribute, in Vec4 value ) |
Debugging methods¶
_validate ! () | |
String | getDesc ? ( in Boolean withAttributes ) |
String | getDesc ? ( in Boolean withAttributes, in Boolean useUnitTestPrint ) |
Edge methods¶
Size | getEdgeFirstPoint ? ( in PolygonMeshEdge edge ) |
PolygonMeshEdge | getEdgeFromPoints ? ( in Size point1, in Size point2 ) |
Size | getEdgeLeftPolygon ? ( in PolygonMeshEdge edge ) |
Size | getEdgeRightPolygon ? ( in PolygonMeshEdge edge ) |
Size | getEdgeSecondPoint ? ( in PolygonMeshEdge edge ) |
PolygonMeshEdge | getPointEdge ? ( in Size point, in Size pointEdgeIndex ) |
Size | getPointEdgeCount ? ( in Size point ) |
PolygonMeshEdge | getPolygonEdge ? ( in Size polygon, in Size polygonPointIndex ) |
Modeling methods¶
Size | _addPolygon ! ( in LocalL8UInt32Array points, in Boolean updateStructure ) |
addExtrusion ! ( in Xfo xfos[], in Vec3 profile[] ) | |
addExtrusion ! ( in Xfo xfos[], in Vec3 profile[], in Boolean close ) | |
Size | addPolygon ! ( in LocalL8UInt32Array points ) |
Size | addPolygon ! ( in Size ptIdx1, in Size ptIdx2, in Size ptIdx3 ) |
Size | addPolygon ! ( in Size ptIdx1, in Size ptIdx2, in Size ptIdx3, in Size ptIdx4 ) |
Size | addPolygonAndUpdateStructure ! ( in LocalL8UInt32Array points ) |
Size | addPolygonAndUpdateStructure ! ( in Size ptIdx1, in Size ptIdx2, in Size ptIdx3 ) |
Size | addPolygonAndUpdateStructure ! ( in Size ptIdx1, in Size ptIdx2, in Size ptIdx3, in Size ptIdx4 ) |
addPolygons ! ( in Size polygonSizes<>, in Size packedPolygonPointIndices<> ) | |
addRevolution ! ( in Xfo xfo, in Vec3 profile[], in Vec3 center, in Vec3 axis, in Size detail ) | |
addRevolution ! ( in Xfo xfo, in Vec3 profile[], in Vec3 center, in Vec3 axis, in Size detail, in Vec2 range, in Boolean close ) | |
addShell ! ( in Scalar thickness ) | |
beginStructureChanges ! () | |
deletePolygon ! ( in Size polygonIndex, in Boolean deleteUnusedPoints, in Boolean reorderPoints ) | |
endStructureChanges ! () | |
extrudeLines ! ( in Lines lines, in UInt32 subdiv, in Scalar thickness, in Vec3 upvector, out Xfo transforms[] ) | |
invertPolygon ! ( in Size polygonIndex ) | |
invertPolygons ! () | |
Boolean | isPointDeleted ? ( in Size point ) |
Boolean | isPolygonDeleted ? ( in Size polygon ) |
linearSubdividePolygons ! ( in Size polygons[], io Size firstEdgePoint, io Size firstCenterPoint ) | |
mergeMesh ! ( in Ref<PolygonMesh> source ) | |
mergeMeshClones ! ( in Ref<PolygonMesh> source, in Xfo transformXfos[], in Boolean transformNormals ) | |
mergeMeshes ! ( in PolygonMesh sources[], in Xfo transformXfos[], in Boolean transformNormals ) | |
mergeMeshes ! ( in PolygonMesh sources[], in Xfo transformXfos[], in Boolean transformNormals, in Boolean setupMaterialIDs ) | |
mergeMeshes ! ( in PolygonMesh sources[], io Size firstPoints[], io Size firstPolygons[] ) | |
mergePoints ! ( in Size firstPointToDelete, in Size secondPoint, in Scalar attributeFirstToSecondRatio, in Boolean deleteOtherUnusedPoints, in Boolean reorderPoints ) | |
splitEdge ! ( in PolygonMeshEdge edge, in Scalar attributeSplitRatio, out Size newPointIndex, out PolygonMeshEdge newEdge ) | |
Size | splitEdge ! ( in Size polygon, in Size polygonPointIndex, in Scalar attributeSplitRatio ) |
PolygonMesh[] | splitMeshIntoChunks ? ( in UInt32 chunkSizeLimit ) |
splitPolygon ! ( in Size polygon, in Size polygonPointIndex1, in Size polygonPointIndex2, out Size newPolygon, out Size newPolygonEdgeStartPointIndex ) | |
splitPolygon ! ( in Size polygonIndex, in Size point1, in Size point2, out Size newPolygonIndex, out PolygonMeshEdge newEdge ) | |
updatePointPolygonOrder ! ( in Size point ) | |
updatePointsPolygonOrder ! () |
Normals methods¶
Vec3 | generatePolygonNormal ? ( in Size polygon ) |
Ref<Vec3Attribute> | getNormals ? () |
Ref<Vec3Attribute> | getOrCreateNormals ! () |
Vec3 | getPointNormal ? ( in Size point ) |
Vec3 | getPointNormal ? ( in Size point, in Size neighborPolygonIndex ) |
Vec3 | getPolygonPointNormal ? ( in Size polygon, in Size polygonPointIndex ) |
incrementNormalsVersion ! () | |
recomputePointNormals ! ( in Scalar hardAngleRadians ) | |
recomputePointNormals ! () | |
recomputePointNormalsIfRequired ! ( in Scalar hardAngleRadians ) | |
recomputePointNormalsIfRequired ! () | |
setPointNormal ! ( in Size point, in Size neighborPolygonIndex, in Vec3 normal ) | |
setPointNormal ! ( in Size point, in Vec3 normal ) | |
setPolygonPointNormal ! ( in Size polygon, in Size polygonPointIndex, in Vec3 normal ) |
Point methods¶
getPointBorderInfo ? ( in Size point, in Size neighborPolygonIndex, out Boolean precededByBorder, out Boolean atClosedWingStart ) | |
Size | getPointNextNeighborPolygonIndexInWing ? ( in Size point, in Size neighborPolygonIndex ) |
Size | getPointPolygon ? ( in Size point, in Size neighborPolygonIndex ) |
getPointPolygonAndIndex ? ( in Size point, in Size neighborPolygonIndex, out Size polygon, out Size polygonPointIndex ) | |
Size | getPointPolygonCount ? ( in Size point ) |
getPointPolygonFullBorderInfo ? ( in Size point, in Size neighborPolygonIndex, out Size wingPolygonPointIndexBegin, out Size wingPolygonPointIndexEnd, out Boolean isClosedWing ) | |
getPointPolygons ? ( in Size point, out LocalL8UInt32Array polygons ) | |
getPointPolygonsAndIndices ? ( in Size point, out LocalL8UInt32Array polygons, out LocalL8UInt32Array polygonPointIndices ) | |
getPointPolygonsBorderInfo ! ( in Size point, out LocalL8UInt32Array neighborPolygonsInfo ) | |
Vec3 | getPointPosition ? ( in Size point ) |
Vec3_d | getPointPosition_d ? ( in Size point ) |
Size | getPointPrevNeighborPolygonIndexInWing ? ( in Size point, in Size neighborPolygonIndex ) |
getPointSurroundingPoints ? ( in Size point, in Boolean includeAllPolygonPoints, out LocalL16UInt32Array surroundingPoints ) | |
Size | pointCount ? () |
setPointPosition ! ( in Size point, in Vec3 value ) | |
setPointPosition ! ( in Size point, in Vec3_d value ) |
Polygon methods¶
LocalBoundingVolume | computePolygonBBox ? ( in Size polygon ) |
Size | getPolygonAdjacentPolygon ? ( in Size polygon, in Size polygonPointIndex ) |
getPolygonAdjacentPolygonAndIndex ? ( in Size polygon, in Size polygonPointIndex, io Size adjacentPolygon, io Size adjacentPolygonPointIndex ) | |
Size | getPolygonSize ? ( in Size polygon ) |
Boolean | isPolygonBorder ? ( in Size polygon, in Size polygonPointIndex ) |
Size | polygonCount ? () |
Size | polygonPointsCount ? () |
Primitives methods¶
addCone ! ( in Xfo xfo, in Scalar radius, in Scalar height, in Boolean cap, in Size detail ) | |
addCone ! ( in Xfo xfo, in Scalar radius, in Scalar height, in Boolean cap, in Size detail, in Boolean setNormals, in Boolean setUVs ) | |
addCube ! ( in Xfo xfo, in Scalar x, in Scalar y, in Scalar z ) | |
addCuboid ! ( in Xfo xfo, in Scalar x, in Scalar y, in Scalar z ) | |
addCuboid ! ( in Xfo xfo, in Scalar x, in Scalar y, in Scalar z, in Boolean setNormals, in Boolean setUVs ) | |
addCylinder ! ( in Xfo xfo, in Scalar radius, in Scalar height, in Boolean caps, in Integer sides, in Integer loops ) | |
addCylinder ! ( in Xfo xfo, in Scalar radius, in Scalar height, in Boolean caps, in Integer sides, in Integer loops, in Boolean setNormals, in Boolean setUVs ) | |
addDisc ! ( in Xfo xfo, in Scalar radius, in Scalar arcAngle, in Size detail, in Boolean setNormals, in Boolean setUVs ) | |
addPlane ! ( in Xfo xfo, in Scalar length, in Scalar width, in Size lengthSections, in Size widthSections ) | |
addPlane ! ( in Xfo xfo, in Scalar length, in Scalar width, in Size lengthSections, in Size widthSections, in Boolean setNormals, in Boolean setUVs ) | |
addSphere ! ( in Xfo xfo, in Scalar radius, in Size detail ) | |
addSphere ! ( in Xfo xfo, in Scalar radius, in UInt32 detail, in Boolean setNormals, in Boolean setUVs ) | |
addSphere ! ( in Xfo xfo, in Scalar radius, in UInt32 loops, in UInt32 sides, in Boolean setNormals, in Boolean setUVs ) | |
addTeapot ! ( in Xfo xfo, in Scalar size, in Integer detail ) | |
addTorus ! ( in Xfo xfo, in Scalar innerRadius, in Scalar outerRadius, in Size detail ) | |
addTorus ! ( in Xfo xfo, in Scalar innerRadius, in Scalar outerRadius, in Size detail, in Boolean setNormals, in Boolean setUVs ) | |
drawBone ! ( in Xfo xfo, in Scalar length, in Scalar radius, in Boolean setNormals ) |
Tangents methods¶
recomputeTangents ! () | |
recomputeTangentsIfRequired ! () |
Triangles methods¶
UInt32[] | generateAttributesTriangleList ? () |
UInt32[] | generateTriangleList ? () |
Size | getPolygonSubTriangleCount ? ( in Size polygon ) |
UInt32[3] | getPolygonSubTrianglePolygonPoints ? ( in Size polygon, in Size subTriangleIndex ) |
Size | triangleCount ? () |