public override void Rotate(float angle, Axis axis) { Pivot.Rotate(angle, axis); GlobalVertices = LocalVertices.Select(v => Pivot.ToGlobalCoords(v)).ToArray(); OnRotateEvent(angle, axis); if (Enviroment != null) { Enviroment.OnChangeEvent(); } }
public IEnumerator <IPolysurfaceVertex> GetEnumerator() { return(LocalVertices.Select(v => (IPolysurfaceVertex) new TransformedVertex(v, _parent)).GetEnumerator()); }
public void RotateAt(Vector3 point, float angle, Axis axis) { Pivot.RotateAt(point, angle, axis); GlobalVertices = LocalVertices.Select(v => Pivot.ToGlobalCoords(v)).ToArray(); }
public void Scale(float k) { LocalVertices = LocalVertices.Select(v => v * k).ToArray(); GlobalVertices = LocalVertices.Select(v => Pivot.ToGlobalCoords(v)).ToArray(); }