public int CreateVertexChannel <T>(string usage)
        {
            if (_finishedMesh)
            {
                throw new InvalidOperationException("This MeshBuilder can no longer be used because FinishMesh has been called.");
            }
            if (_finishedCreation)
            {
                throw new InvalidOperationException("Functions starting with 'Create' must be called before calling AddTriangleVertex");
            }

            var channel = new VertexChannel <T>(usage);

            _vertexChannels.Add(channel);
            _vertexChannelData.Add(default(T));

            _currentGeometryContent.Vertices.Channels.Add <T>(usage, null);

            return(_vertexChannels.Count - 1);
        }
 /// <summary>
 /// Initializes a new instance of IndirectPositionCollection.
 /// </summary>
 internal IndirectPositionCollection(GeometryContent geom, VertexChannel <int> positionIndices)
 {
     _geometry        = geom;
     _positionIndices = positionIndices;
 }
Example #3
0
 /// <summary>
 /// Constructs a VertexContent instance.
 /// </summary>
 internal VertexContent(GeometryContent geom)
 {
     positionIndices = new VertexChannel <int>("PositionIndices");
     positions       = new IndirectPositionCollection(geom, positionIndices);
     channels        = new VertexChannelCollection(this);
 }
 internal IndirectPositionCollection(GeometryContent geometry, VertexChannel <int> positionIndices)
 {
     this.geometry        = geometry;
     this.positionIndices = positionIndices;
 }
Example #5
0
 /// <summary>
 /// Constructs a VertexContent instance.
 /// </summary>
 internal VertexContent()
 {
     channels        = new VertexChannelCollection(this);
     positionIndices = new VertexChannel <int>("PositionIndices");
     positions       = new IndirectPositionCollection();
 }