92 lines
1.9 KiB
C#
Raw Normal View History

using System;
using ANX.Framework.NonXNA.Development;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.Graphics
{
[PercentageComplete(100)]
[TestState(TestStateAttribute.TestState.Untested)]
public sealed class ModelMeshPart
{
#region Private
internal ModelMesh parentMesh;
private Effect effect;
private IndexBuffer indexBuffer;
private int numVertices;
private int primitiveCount;
private int startIndex;
private Object tag;
private VertexBuffer vertexBuffer;
private int vertexOffset;
#endregion
#region Public
public Effect Effect
{
get { return effect; }
set
{
if (this.effect != value)
{
var old = this.effect;
this.effect = value;
this.parentMesh.EffectChangedOnMeshPart(this, old, value);
}
}
}
public IndexBuffer IndexBuffer
{
get { return indexBuffer; }
internal set { this.indexBuffer = value; }
}
public int NumVertices
{
get { return numVertices; }
}
public int PrimitiveCount
{
get { return primitiveCount; }
}
public int StartIndex
{
get { return startIndex; }
}
public Object Tag
{
get { return tag; }
set { tag = value; }
}
public VertexBuffer VertexBuffer
{
get { return vertexBuffer; }
internal set { this.vertexBuffer = value; }
}
public int VertexOffset
{
get { return vertexOffset; }
}
#endregion
internal ModelMeshPart(int vertexOffset, int numVertices, int startIndex, int primitiveCount, object tag)
{
this.vertexOffset = vertexOffset;
this.numVertices = numVertices;
this.startIndex = startIndex;
this.primitiveCount = primitiveCount;
this.tag = tag;
}
}
}