Object Class Reference
The Object class represents the behaviour of an object after it is calculated. More...Inheritance diagram for Object:
Public Member Functions | |
bool | inherits (const ObjectType *t) const |
Returns true if this Object inherits the Object type represented by t. | |
virtual Coordinate | attachPoint () const =0 |
Returns a reference point where to attach labels; when this returns an invalidCoord then the attachment is either not done at all, or done in a specific way (like for curves, or for points) The treatment of points could also take advantage of this attachment mechanism. | |
virtual Object * | transform (const Transformation &t) const =0 |
Return this Object, transformed by the transformation t. | |
bool | valid () const |
Returns true if this is a valid Object. | |
virtual const ObjectType * | type () const =0 |
Returns the lowermost ObjectType that this object is an instantiation of. | |
virtual Object * | copy () const =0 |
Returns a copy of this Object. | |
virtual bool | equals (const Object &rhs) const =0 |
Returns true if this Object is equal to rhs. | |
Static Public Member Functions | |
static const ObjectType * | stype () |
The ObjectType representing the base Object class. |
Detailed Description
The Object class represents the behaviour of an object after it is calculated.This means how to draw() it, whether it claims to contain a certain point etc. It is also the class where the ObjectType's get their information from..
Member Function Documentation
|
Returns a reference point where to attach labels; when this returns an invalidCoord then the attachment is either not done at all, or done in a specific way (like for curves, or for points) The treatment of points could also take advantage of this attachment mechanism. If this method returns a valid Coordinate, then this is interpreted as a pivot point for the label, which can still be moved relative to that point, but follows the object when the object changes. In practice a new RelativePointType is created (position of the string), this type in turn depends on the object (to get its attachPoint) and two DoubleObject that are interpreted as relative displacement (x and y) Implemented in Curve, Point, BogusObject, and Angle. |
|
Returns a copy of this Object. The copy is an exact copy. Changes to the copy don't affect the original. Implemented in Curve, Point, Segment, Ray, Line, ConicCart, ConicPolar, Cubic, InvalidObject, DoubleObject, IntObject, StringObject, Circle, Angle, Vector, and Arc. |
|
Returns true if this Object is equal to rhs. This function checks whether rhs is of the same Object type, and whether it contains the same data as this Object. Implemented in Point, AbstractLine, Conic, Cubic, InvalidObject, DoubleObject, IntObject, StringObject, Circle, Angle, Vector, and Arc. |
|
Returns true if this Object inherits the Object type represented by t. E.g. you can check whether an Object is a Line by doing:
if object.inherits( Line.stype() ): |
|
The ObjectType representing the base Object class. All other Object's inherit from this type. Reimplemented in Curve, Point, AbstractLine, Segment, Ray, Line, Conic, Cubic, BogusObject, InvalidObject, DoubleObject, IntObject, StringObject, Circle, Angle, Vector, and Arc. |
|
Returns the lowermost ObjectType that this object is an instantiation of. E.g. if you want to get a string containing the internal name of the type of an object, you can do:
tn = object.type().internalName() Implemented in Point, Segment, Ray, Line, Conic, Cubic, InvalidObject, DoubleObject, IntObject, StringObject, Circle, Angle, Vector, and Arc. |
|
Returns true if this is a valid Object. If you want to return an invalid Object, you should return an InvalidObject instance. |