/// <summary> /// Sets the morph target deltas for the given vertex. /// </summary> /// <param name="vertexIndex">The index of the vertex.</param> /// <param name="geometryDelta">The Position, Normal and Tangent deltas</param> /// <param name="materialDelta">The Color and TexCoords deltas</param> /// <remarks> /// if all the deltas are zero, it removes the vertex from the list of morph target vertices. /// </remarks> public void SetVertexDelta(int vertexIndex, VertexGeometryDelta geometryDelta, VertexMaterialDelta materialDelta) { if (object.Equals(geometryDelta, default(VertexGeometryDelta)) && object.Equals(materialDelta, default(VertexMaterialDelta))) { _RemoveVertex(vertexIndex); return; } var vertex = _BaseVertexFunc(vertexIndex); vertex.Geometry.Add(geometryDelta); if (typeof(TvM) != typeof(VertexEmpty)) vertex.Material.Add(materialDelta); _SetVertex(vertexIndex, vertex); }
public void Add(VertexGeometryDelta delta) { this.Position += delta.PositionDelta; }