using Chernobyl.Mathematics.Movement; namespace Chernobyl.Mathematics.Geometry { /// /// A that can be translated, rotated, scaled, etc., /// but not have a dimension (width, depth, volume, etc). /// public class NullShape : MatrixTransform, IShape { /// /// The largest width of the object in the object's X axis. This property /// will always return 0. /// public float Width { get { return 0; } } /// /// The largest height of the object in the object's Y axis. This property /// will always return 0. /// public float Height { get { return 0; } } /// /// The largest depth of the object in the object's Z axis. If the depth /// is zero, the object is 2D. This property will always return 0. /// public float Depth { get { return 0; } } /// /// True if this is convex, false if it is concave /// or has 0 (such as a point). A /// is convex if for every pair of points within /// the object, every point on the straight line segment that joins them /// is also within the object. A concave is the /// opposite of this. This property always return false for the /// . /// public bool IsConvex { get { return false; } } /// /// The amount of space taken up by an object on a flat plane in /// square metres (m^2). This property always return 0 for the /// . /// public float Area { get { return 0; } } /// /// The amount of 3D space this object consumes in cubic metres (m^3). /// If this object is 2D, then the value of this property is zero. /// This property always return 0 for the . /// public float Volume { get { return 0; } } /// /// The length of the path that surrounds a shape specified in metres (m). /// In the case of a closed curve such as a circle, this value represents /// the circumference of the object. This property always return 0 for /// the . /// public float Perimeter { get { return 0; } } /// /// The minimum number of coordinates needed to specify each point /// within this object. For example: a point has 0 dimensions, a /// line has 1 dimension, a circle or rectangle has 2 dimensions, a /// cube or sphere has 3 dimensions, and a moving cube or sphere has 4. /// This property always return 0 for the . /// public uint Dimensions { get { return 0; } } } }