public Transformation(Transformation aTrans) { fMatrix = aTrans.fMatrix; fTranslate = aTrans.fTranslate; fScale = aTrans.fScale; fIsIdentity = aTrans.fIsIdentity; fIsRSMatrix = aTrans.fIsRSMatrix; fIsUniformScale = aTrans.fIsUniformScale; }
public void Inverse(out Transformation inverse) { inverse = null; }
/// <summary> /// The Geometry state needs to be updated whenever there is a change to /// the frame, or any other aspect of the geometry. Here recalculations /// that are dependent on the geometry will occur. /// By default, the container is queried for its transform. /// </summary> public virtual void UpdateGeometryState() { // Since we are a part of a container, we will create // our own transform, starting with Identity Transformation myTransform = new Transformation(); // 1. Query the container for the world transform if (null != Container) { //fGraphicsUnit = fContainer.GraphicsUnit; // If the container has a world transform, we want to start from // that transform. Transformation parentTransform = fContainer.WorldTransform; if (null != parentTransform) { myTransform = new Transformation(parentTransform); } } // Add the frame offset as part of the world transform. // myTransform.Translate(Frame.Left, Frame.Top); WorldTransform = myTransform; // Let subclassers do the specifics they need to do OnUpdateGeometryState(); }
public void Product(Transformation A, Transformation B, out Transformation C) { C = null; }
abstract public void TransformBy(Transformation aTransform, out BoundingVolume result);