Assembly: DigitalRune.Geometry (in DigitalRune.Geometry.dll) Version: 1.9.0.0 (1.9.3.9490)
Syntax
| C# |
|---|
[SerializableAttribute] [XmlIncludeAttribute(typeof(LineShape))] [XmlIncludeAttribute(typeof(BoxShape))] [XmlIncludeAttribute(typeof(CapsuleShape))] [XmlIncludeAttribute(typeof(CircleShape))] [XmlIncludeAttribute(typeof(PerspectiveViewVolume))] [XmlIncludeAttribute(typeof(TriangleShape))] [XmlIncludeAttribute(typeof(ConvexPolyhedron))] [XmlIncludeAttribute(typeof(CylinderShape))] [XmlIncludeAttribute(typeof(EmptyShape))] [XmlIncludeAttribute(typeof(InfiniteShape))] [XmlIncludeAttribute(typeof(LineSegmentShape))] [XmlIncludeAttribute(typeof(OrthographicViewVolume))] [XmlIncludeAttribute(typeof(ConeShape))] [XmlIncludeAttribute(typeof(PlaneShape))] [XmlIncludeAttribute(typeof(PointShape))] [XmlIncludeAttribute(typeof(RayShape))] [XmlIncludeAttribute(typeof(RectangleShape))] [XmlIncludeAttribute(typeof(SphereShape))] [XmlIncludeAttribute(typeof(ScaledConvexShape))] public abstract class Shape : ICloneable |
| Visual C++ |
|---|
[SerializableAttribute] [XmlIncludeAttribute(typeof(LineShape))] [XmlIncludeAttribute(typeof(BoxShape))] [XmlIncludeAttribute(typeof(CapsuleShape))] [XmlIncludeAttribute(typeof(CircleShape))] [XmlIncludeAttribute(typeof(PerspectiveViewVolume))] [XmlIncludeAttribute(typeof(TriangleShape))] [XmlIncludeAttribute(typeof(ConvexPolyhedron))] [XmlIncludeAttribute(typeof(CylinderShape))] [XmlIncludeAttribute(typeof(EmptyShape))] [XmlIncludeAttribute(typeof(InfiniteShape))] [XmlIncludeAttribute(typeof(LineSegmentShape))] [XmlIncludeAttribute(typeof(OrthographicViewVolume))] [XmlIncludeAttribute(typeof(ConeShape))] [XmlIncludeAttribute(typeof(PlaneShape))] [XmlIncludeAttribute(typeof(PointShape))] [XmlIncludeAttribute(typeof(RayShape))] [XmlIncludeAttribute(typeof(RectangleShape))] [XmlIncludeAttribute(typeof(SphereShape))] [XmlIncludeAttribute(typeof(ScaledConvexShape))] public ref class Shape abstract : ICloneable |
Remarks
A Shape defines the space that is occupied by an object. Shape is the common base class of all types of shapes in DigitalRune Geometry.
Shapes are defined in the local coordinate system of the owning object (also known as local space, object space or body space). Shapes are abstracted from other properties such as color, material, or even position and orientation. Most shapes contain only properties that define their dimensions ("width", "height", "radius", etc.). For example, a SphereShape consists only of a radius that defines the size of the sphere. The sphere is centered in the local coordinate system.
However, some shapes like the PointShape, the TriangleShape or the RayShape, are defined using position and orientation vectors ("Vertex0", "Origin", "Direction", etc.). Thus, they can be also positioned in local coordinate space.
An IGeometricObject is used to position an object in the world coordinate space. An IGeometricObject consists of a Shape, a Scale and a Pose (= position and orientation).
Cloning: Shapes are cloneable (see ICloneable). The method Clone()()()() creates a deep copy of the shape - except when documented otherwise (see description of derived classes).
Inheritance Hierarchy
DigitalRune.Geometry.Shapes..::..Shape
DigitalRune.Geometry.Shapes..::..CompositeShape
DigitalRune.Geometry.Shapes..::..ConvexShape
DigitalRune.Geometry.Shapes..::..EmptyShape
DigitalRune.Geometry.Shapes..::..HeightField
DigitalRune.Geometry.Shapes..::..InfiniteShape
DigitalRune.Geometry.Shapes..::..LineShape
DigitalRune.Geometry.Shapes..::..PlaneShape
DigitalRune.Geometry.Shapes..::..TransformedShape
DigitalRune.Geometry.Shapes..::..TriangleMeshShape