Class PrimitiveBuilderTMaterialTvGTvMTvS

PrimitiveBuilder<TMaterial,TvG,TvM,TvS> class

Represents an utility class to help build mesh primitives by adding points, lines or triangles

public abstract class PrimitiveBuilder<TMaterial, TvG, TvM, TvS> : IPrimitiveBuilder, 
    IPrimitiveReader<TMaterial>
    where TvG : struct, IVertexGeometry
    where TvM : struct, IVertexMaterial
    where TvS : struct, IVertexSkinning
ParameterDescription
TMaterialThe material type used by this PrimitiveBuilder instance.
TvGThe vertex fragment type with Position, Normal and Tangent. Valid types are: - VertexPosition - VertexPositionNormal - VertexPositionNormalTangent
TvMThe vertex fragment type with Colors and Texture Coordinates. Valid types are: - VertexEmpty - VertexColor1 - VertexTexture1 - VertexColor1Texture1 - VertexColor1Texture2 - VertexColor1Texture1 - VertexColor2Texture2
TvSThe vertex fragment type with Skin Joint Weights. Valid types are: - VertexEmpty - VertexJoints4 - VertexJoints8

Properties

NameDescription
virtual Lines { get; }Gets the list in indices of the lines contained in this primitive.
Material { get; }Gets the TMaterial used by this primitive.
Mesh { get; }Gets the parent mesh that owns this primitive.
virtual Points { get; }Gets the list in indices of the points contained in this primitive.
virtual Surfaces { get; }Gets the list in indices of the surfaces contained in this primitive.
virtual Triangles { get; }Gets the list in indices of triangles contained in this primitive.
VertexType { get; }Gets the type of the vertex used by this primitive.
Vertices { get; }Gets the list of vertices used by this primitive.
abstract VerticesPerPrimitive { get; }Gets the number of vertices used by each primitive: 1 - Points 2 - Lines 3 - Triangles

Methods

NameDescription
AddLine(IVertexBuilder, IVertexBuilder)Adds a line.
virtual AddLine(VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>)Adds a line.
AddPoint(IVertexBuilder)Adds a point.
virtual AddPoint(VertexBuilder<TvG, TvM, TvS>)Adds a point.
AddQuadrangle(IVertexBuilder, IVertexBuilder, IVertexBuilder, IVertexBuilder)Adds a quadrangle.
virtual AddQuadrangle(VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>)Adds a quadrangle.
AddTriangle(IVertexBuilder, IVertexBuilder, IVertexBuilder)Adds a triangle.
virtual AddTriangle(VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>)Adds a triangle.
ContainsVertex(ref VertexBuilder<TvG, TvM, TvS>)Checks if a vertex is already in the vertex buffer.
abstract GetIndices()
TransformVertices(Func<VertexBuilder<TvG, TvM, TvS>, VertexBuilder<TvG, TvM, TvS>>)
Validate()

See Also