Click or drag to resize

MeshSimplifier Class

The mesh simplifier. Deeply based on https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification but rewritten completely in C#.
Inheritance Hierarchy
SystemObject
  InternalMeshSimplifier

Namespace:  Internal
Assembly:  NeoAxis.Core (in NeoAxis.Core.dll) Version: 2024.1.1.0 (2024.1.1.0)
Syntax
C#
public sealed class MeshSimplifier

The MeshSimplifier type exposes the following members.

Constructors
  NameDescription
Public methodMeshSimplifier
Creates a new mesh simplifier.
Top
Properties
  NameDescription
Public propertyAgressiveness Obsolete.
Gets or sets the agressiveness of the mesh simplification. Higher number equals higher quality, but more expensive to run. Default value: 7.0
Public propertyBlendShapeCount
Gets the count of blend shapes.
Public propertyBoneWeights
Gets or sets the vertex bone weights.
Public propertyColors
Gets or sets the vertex colors.
Public propertyEnableSmartLink Obsolete.
Gets or sets if a feature for smarter vertex linking should be enabled, reducing artifacts in the decimated result at the cost of a slightly more expensive initialization by treating vertices at the same position as the same vertex while separating the attributes. Default value: true
Public propertyMaxIterationCount Obsolete.
Gets or sets the maximum iteration count. Higher number is more expensive but can bring you closer to your target quality. Sometimes a lower maximum count might be desired in order to lower the performance cost. Default value: 100
Public propertyNormals
Gets or sets the vertex normals.
Public propertyPreserveBorderEdges Obsolete.
Gets or sets if the border edges should be preserved. Default value: false
Public propertyPreserveSurfaceCurvature Obsolete.
Gets or sets if the discrete curvature of the mesh surface be taken into account during simplification. Default value: false
Public propertyPreserveUVFoldoverEdges Obsolete.
Gets or sets if the UV foldover edges should be preserved. Default value: false
Public propertyPreserveUVSeamEdges Obsolete.
Gets or sets if the UV seam edges should be preserved. Default value: false
Public propertySimplificationOptions
Gets or sets all of the simplification options as a single block. Default value: SimplificationOptions.Default
Public propertySubMeshCount
Gets the count of sub-meshes.
Public propertyTangents
Gets or sets the vertex tangents.
Public propertyUV1
Gets or sets the vertex 2D UV set 1.
Public propertyUV2
Gets or sets the vertex 2D UV set 2.
Public propertyUV3
Gets or sets the vertex 2D UV set 3.
Public propertyUV4
Gets or sets the vertex 2D UV set 4.
Public propertyUV5
Gets or sets the vertex 2D UV set 5.
Public propertyUV6
Gets or sets the vertex 2D UV set 6.
Public propertyUV7
Gets or sets the vertex 2D UV set 7.
Public propertyUV8
Gets or sets the vertex 2D UV set 8.
Public propertyVerbose
Gets or sets if verbose information should be printed to the console. Default value: false
Public propertyVertexLinkDistance Obsolete.
Gets or sets the maximum distance between two vertices in order to link them. Note that this value is only used if EnableSmartLink is true.
Public propertyVertexLinkDistanceSqr Obsolete.
Gets or sets the maximum squared distance between two vertices in order to link them. Note that this value is only used if EnableSmartLink is true. Default value: double.Epsilon
Public propertyVertices
Gets or sets the vertex positions.
Top
Methods
  NameDescription
Public methodAddBlendShape
Adds a blend shape.
Public methodAddBlendShapes
Adds several blend shapes.
Public methodAddSubMeshTriangles(Int32)
Adds a sub-mesh triangle indices for a specific sub-mesh.
Public methodAddSubMeshTriangles(Int32)
Adds several sub-meshes at once with their triangle indices for each sub-mesh.
Public methodClearBlendShapes
Clears all blend shapes.
Public methodClearSubMeshes
Clears out all sub-meshes.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetAllBlendShapes
Returns all blend shapes.
Public methodGetAllSubMeshTriangles
Returns the triangle indices for all sub-meshes.
Public methodGetBlendShape
Returns a specific blend shape.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetSubMeshTriangles
Returns the triangle indices for a specific sub-mesh.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUVs(Int32, ListVector2)
Returns the UVs (2D) from a specific channel.
Public methodGetUVs(Int32, ListVector3)
Returns the UVs (3D) from a specific channel.
Public methodGetUVs(Int32, ListVector4)
Returns the UVs (4D) from a specific channel.
Public methodGetUVs2D
Returns the UVs (2D) from a specific channel.
Public methodGetUVs3D
Returns the UVs (3D) from a specific channel.
Public methodGetUVs4D
Returns the UVs (4D) from a specific channel.
Public methodSetUVs(Int32, IListVector2)
Sets the UVs (2D) for a specific channel.
Public methodSetUVs(Int32, IListVector3)
Sets the UVs (3D) for a specific channel.
Public methodSetUVs(Int32, IListVector4)
Sets the UVs (4D) for a specific channel.
Public methodSetUVs(Int32, IListVector4, Int32)
Sets the UVs for a specific channel with a specific count of UV components.
Public methodSetUVsAuto
Sets the UVs for a specific channel and automatically detects the used components.
Public methodSimplifyMeshCarefully
Simplifies the mesh to a desired quality.
Public methodSimplifyMeshDefault
Simplifies the mesh to a desired quality.
Public methodSimplifyMeshLossless
Simplifies the mesh without losing too much quality.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods
See Also