summaryrefslogtreecommitdiff
path: root/Plugins/MonoGame.Extended/source/MonoGame.Extended.Graphics/Geometry/GeometryBuilder.cs
blob: dad4f1556cef001717d334fef8553e14e5e29e08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using Microsoft.Xna.Framework.Graphics;

namespace MonoGame.Extended.Graphics.Geometry
{
    public abstract class GeometryBuilder<TVertexType, TIndexType>
        where TVertexType : struct, IVertexType
        where TIndexType : struct
    {
        public PrimitiveType PrimitiveType { get; protected set; }
        public int VertexCount { get; protected set; }
        public int IndexCount { get; protected set; }
        public int PrimitivesCount { get; protected set; }

        public TVertexType[] Vertices { get; }
        public TIndexType[] Indices { get; }

        protected GeometryBuilder(int maximumVerticesCount, int maximumIndicesCount)
        {
            Vertices = new TVertexType[maximumVerticesCount];
            Indices = new TIndexType[maximumIndicesCount];
        }
    }
}