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; }
/// <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; }
/// <summary> /// Constructs a VertexContent instance. /// </summary> internal VertexContent() { channels = new VertexChannelCollection(this); positionIndices = new VertexChannel <int>("PositionIndices"); positions = new IndirectPositionCollection(); }