| Name | Description |
---|
| CalculateNormals(PositionNormalTextureVertex, Int32) |
CalculateNormals method calculates normals for the specified vertexBuffer (PositionNormalTexture array) and triangle indices array. Normal values are written to the vertexBuffer.
Normals are always normalized.
|
| CalculateNormals(Vector3, Boolean) |
CalculateNormals method calculates normals for the specified positions and without triangle indices (the triangles are defined by 3 consecutive positions).
|
| CalculateNormals(Vector3, Int32, Boolean) |
CalculateNormals method calculates normals for the specified positions and and triangle indices arrays.
|
| CalculateNormals(PositionNormalTextureVertex, Int32, Int32, Int32) |
CalculateNormals method calculates normals for the specified vertexBuffer (PositionNormalTexture array) and triangle indices array. Normal values are written to the vertexBuffer.
Normals are always normalized.
|
| CalculateNormals(Vector3, Int32, Int32, Int32, Boolean) |
CalculateNormals method calculates normals for the specified positions and and triangle indices arrays.
|
| CalculateNormals(Vector3, Int32, Vector3, Int32, Int32, Boolean) |
CalculateNormals method calculates normals for the specified positions and and triangle indices arrays.
Normal values are written to the specified normals array.
|
| CalculateTangentVectors |
CalculateTangentVectors returns a Vector3 array that represents tangent vectors calculated from specified mesh data.
|
| CombineAllMeshes |
CombineAllMeshes method combines all meshes from the specified groupNode hierarchy and converts them into a single StandardMesh.
It also applies all the transformations to the positions and normals.
|
| CombineMeshes(IListStandardMesh) |
CombineAllMeshes method combines all meshes from specified list of meshes and returns a single StandardMesh.
|
| CombineMeshes(StandardMesh, StandardMesh, StandardMesh, StandardMesh, StandardMesh) |
CombineAllMeshes method combines all the specified meshes into a single StandardMesh.
|
| GenerateCubicTextureCoordinates(StandardMesh) |
Generate texture coordinates for the given mesh.
Texture coordinates are computed using cubic projection, which projects the 3D positions on an axis-aligned 3D cube.
|
| GenerateCubicTextureCoordinates(PositionNormalTextureVertex, Int32) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using cubic projection, which projects the 3D positions on an axis-aligned 3D cube.
|
| GenerateCubicTextureCoordinates(Vector3, Int32) |
Generate texture coordinates for the given positions and triangleIndices.
Texture coordinates are computed using cubic projection, which projects the 3D positions on an axis-aligned 3D cube.
|
| GenerateCylindricalTextureCoordinates(PositionNormalTextureVertex, Int32, Vector3, Vector3) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using cylindrical projection.
Texture coordinates for positions that are parallel to the cylinderDirectionVector use simple planar projection.
Texture coordinates for other positions are computed based on the angle from the cylinder center axis to the position.
|
| GenerateCylindricalTextureCoordinates(Vector3, Int32, Vector3, Vector3, Vector3) |
Generate texture coordinates for the given positions and triangleIndices.
Texture coordinates are computed using cylindrical projection.
Texture coordinates for positions that are parallel to the cylinderDirectionVector use simple planar projection.
Texture coordinates for other positions are computed based on the angle from the cylinder center axis to the position.
|
| GenerateCylindricalTextureCoordinates(StandardMesh, NullableVector2, NullableVector2, Vector3, Vector3, Boolean) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using cylindrical projection.
Texture coordinates for positions that are parallel to the cylinderDirectionVector use simple planar projection.
Texture coordinates for other positions are computed based on the angle from the cylinder center axis to the position.
|
| GenerateCylindricalTextureCoordinates(PositionNormalTextureVertex, Int32, NullableVector2, NullableVector2, Vector3, Vector3, Boolean) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using cylindrical projection.
Texture coordinates for positions that are parallel to the cylinderDirectionVector use simple planar projection.
Texture coordinates for other positions are computed based on the angle from the cylinder center axis to the position.
|
| GenerateCylindricalTextureCoordinates(Vector3, Int32, Vector3, NullableVector2, NullableVector2, Vector3, Vector3, Boolean) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using cylindrical projection.
Texture coordinates for positions that are parallel to the cylinderDirectionVector use simple planar projection.
Texture coordinates for other positions are computed based on the angle from the cylinder center axis to the position.
|
| GeneratePlanarTextureCoordinates(StandardMesh, Vector3, Vector3, Boolean, Boolean, Boolean) |
Generate texture coordinates for the given mesh.
Texture coordinates are computed using planar projection.
The plane is defined by the normal vector (perpendicular to the plane surface) and direction vector along
the plane surface (i.e., the Y direction of the 2D plane shape).
|
| GeneratePlanarTextureCoordinates(PositionNormalTextureVertex, Int32, Vector3, Vector3, Boolean, Boolean, Boolean) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using planar projection.
The plane is defined by the normal vector (perpendicular to the plane surface) and direction vector along
the plane surface (i.e., the Y direction of the 2D plane shape).
|
| GeneratePlanarTextureCoordinates(Vector3, Int32, Vector3, Vector3, Vector3, Boolean, Boolean, Boolean) |
Generate texture coordinates for the given positions and triangleIndices.
Texture coordinates are computed using planar projection.
The plane is defined by the normal vector (perpendicular to the plane surface) and direction vector along
the plane surface (i.e., the Y direction of the 2D plane shape).
|
| GeneratePlanarTextureCoordinates(PositionNormalTextureVertex, Int32, Vector3, Vector3, NullableVector2, NullableVector2, Boolean, Boolean, Boolean) |
Generate texture coordinates for the given vertices and triangleIndices.
Texture coordinates are computed using planar projection.
The plane is defined by the normal vector (perpendicular to the plane surface) and direction vector along
the plane surface (i.e., the Y direction of the 2D plane shape).
|
| GeneratePlanarTextureCoordinates(Vector3, Int32, Vector3, Vector3, Vector3, NullableVector2, NullableVector2, Boolean, Boolean, Boolean) |
Generate texture coordinates for the given positions and triangleIndices.
Texture coordinates are computed using planar projection.
The plane is defined by the normal vector (perpendicular to the plane surface) and direction vector along
the plane surface (i.e., the Y direction of the 2D plane shape).
|
| GetIntersectingTriangles |
GetIntersectingTriangles returns a list of indexes of triangles from the mesh that intersect the specified boundingBox.
To actually split the mesh you can then call the SplitMeshByIndexesOfTriangles(StandardMesh, ListInt32, Boolean, StandardMesh, StandardMesh) method.
|
| GetPositionFromVertexBufferT |
Gets a single position from the specified vertex buffer array.
If vertex buffer type is not supported (not defined by DXEngine) then an exception is thrown.
To get a triangle (3 positions) use the GetTriangleFromVertexBufferT(T, Int32, Int32, Int32, Vector3, Vector3, Vector3) method.
|
| GetTriangleFromVertexBufferT |
Gets 3 positions from the specified vertex buffer array.
If vertex buffer type is not supported (not defined by DXEngine) then an exception is thrown.
To get a single position use the GetPositionFromVertexBufferT(T, Int32) method.
|
| InverseTriangleIndicesOrientation |
Inverses the order of triangles indices so that the triangles will face in the other direction (change clockwise direction into counter-clockwise and vice versa).
|
| Project3DPointsTo2DPlane(PositionNormalTextureVertex, Vector3, Vector3, Vector2, Vector2) |
Projects the given array of vertices (i.e., their 3D positions) onto a 2D plane specified by its normal
vector and side direction vector (the "height" direction of the 2D shape).
|
| Project3DPointsTo2DPlane(Vector3, Vector3, Vector3, Vector2, Vector2) |
Projects the given array of 3D positions onto a 2D plane specified by its normal vector and side direction
vector (the "height" direction of the 2D shape).
|
| RemoveDuplicateFollowingPositions |
RemoveDuplicateFollowingPositions checks an array of Vector3 and returns an array with removed duplicate positions that follow each other.
In case there are no duplicates, the same positions instance is returned as it was passed to this method (no new array is created).
|
| SliceMesh |
Slices the StandardMesh with the specified Plane and returns two new StandardMesh objects:
one StandardMesh that is in front of the plane (in the direction of plane's Normal vector) and one StandardMesh that is in the back of the plane.
If StandardMesh is fully in front (or in back) of the Plane, then the same instance of StandardMesh is returned (the other returned mesh is null).
If the StandardMesh intersects the Plane, it is sliced and new StandardMesh objects are created from it.
|
| SplitMeshByIndexesOfTriangles |
SplitMeshByIndexesOfTriangles splits the originalMesh into mesh1 and mesh2 based on the list
of triangle indexes defined in indexesOfTriangles (can be get by GetIntersectingTriangles(BoundingBox, StandardMesh, Transform) method).
When the triangle index is present in the indexesOfTriangles, then the triangle is added to mesh1, otherwise triangle is added to mesh2.
Note that mesh1 can be null (when indexesOfTriangles is null or empty).
mesh2 can be null when indexesOfTriangles contains the same number of triangles as the originalMesh.
|
| TransformMesh(PositionNormalTextureVertex, Transform, Boolean) |
Transforms the specified vertices in an array of PositionNormalTextureVertex with the specified Transform and returns a new PositionNormalTextureVertex array (the same array is returned in case of null or identity transform).
If transformNormals is set to true (by default) the normals are transformed with inverted and transposed transform matrix.
|
| TransformMesh(StandardMesh, Transform, Boolean) |
Transforms the specified StandardMesh with the specified Transform and returns a new StandardMesh (the same StandardMesh is returned in case of null or identity transform).
If transformNormals is set to true (by default) the normals are transformed with inverted and transposed transform matrix.
|
| UpdateCombinedMeshes |
UpdateCombinedMeshes method updates the Vertices in specified combinedMesh that was created before by calling CombineAllMeshes(GroupNode, Transform) method.
It also applies all the transformations to the positions and normals.
If the count of triangle indices is the same, then they are not updated.
|