In file ./include/vob/Transform.hxx:

class Transform

VobScene VobMap VobCoorder VobMatcher Vob Design of LibVob VobScene VobMap VobCoorder VobMatcher Vob Design of LibVob vobscene_overall Design of LibVob Design of LibVob vobs_overall_transforms Vob Design of the C Design of LibVob Vob Design of the C Design of LibVob vobs_overall_2
A single "final" (ie.

Documentation

A single "final" (ie. composited) transform, possibly defined hierarchically through primitive transforms. This is the external coordsys interface for use by vobs.

Inheritance:

Transform


Public Methods

[more]virtual bool shouldBeDrawn () const
Check whether this coordinate system should be drawn with the current parameters.
[more]virtual ZPttransform (const ZPt &p) const ((pure))
Return the given ZPt transformed into this coordinate system.
[more]virtual void vertex (const ZPt &p) const
Call glVertex with the given ZPt transformed into this coordinate system
[more]virtual boolisNonlinear () const ((pure))
Whether the transformation is nonlinear
[more]virtual floatnonlinearity (const ZPt &p, float radius) const ((pure))
How nonlinear is the coordinate system at the given point.
[more]virtual boolcanPerformGL () const ((pure))
Whether this transformation can be performed by OpenGL alone by using the transformation matrix.
[more]virtual bool performGL () const
Try to perform the GL operations to set this coordinate system in the current matrix.
[more]virtual const Transform& getInverse () const
Get the inverse of this coordinate system.
[more]virtual void dump (std::ostream &out) const
Print this coordinate system into the given ostream
[more]virtual PtgetSqSize () const ((pure))
Get the size of the "unit square" of this coordinate system.

ovirtual bool shouldBeDrawn() const = 0
Check whether this coordinate system should be drawn with the current parameters. This method should not recurse; the parents will already have been asked. It should only consider the parameters of the current coordinate system.

ovirtual ZPttransform (const ZPt &p) const ((pure)) = 0
Return the given ZPt transformed into this coordinate system. Note that some "coordinate systems" may overload this to return e.g. a color in the ZPt always, without regard to the parameter.

ovirtual void vertex(const ZPt &p) const = 0
Call glVertex with the given ZPt transformed into this coordinate system

ovirtual boolisNonlinear () const ((pure)) = 0
Whether the transformation is nonlinear

ovirtual floatnonlinearity (const ZPt &p, float radius) const ((pure)) = 0
How nonlinear is the coordinate system at the given point. The return value is 1/l where l would be a reasonable length for dicing. Returns 0 if dicing is not required. XXX This needs more thought.

ovirtual boolcanPerformGL () const ((pure)) = 0
Whether this transformation can be performed by OpenGL alone by using the transformation matrix. If true, calling performGL allows the caller to use plain glVertex calls to place vertices using this transform.

ovirtual bool performGL() const = 0
Try to perform the GL operations to set this coordinate system in the current matrix. Only the topmost matrix on the matrix stack may be altered by this routine, no other GL state. The matrix used is determined by the GL current matrix state.

This method will NOT set up vertex programs or change any other OpenGL state.

Returns:
True if successful, but if false is returned, then the matrix is in an undefined state. If this is not acecptable, try canPerformGL() first.

ovirtual const Transform& getInverse() const = 0
Get the inverse of this coordinate system. Always returns non-null but it is not guaranteed that this will work properly. (XXX canInvert() ?) The returned inverse is owned by this object and mustn't be deleted by the caller.

ovirtual void dump(std::ostream &out) const = 0
Print this coordinate system into the given ostream

ovirtual PtgetSqSize () const ((pure)) = 0
Get the size of the "unit square" of this coordinate system. For most coordinate systems, this will be Pt(1,1) but there are some which alter this, for the purpose of catching mouse clicks at a larger area. A mouse click is "in" this coordinate system, if it is in the area Pt(0,0) .. getSqSize()

NOTE: Must be implemented also at GLVobCoorder.java.


Direct child classes:
InverseHierarchicalTransform
HierarchicalTransform
RootCoords

Alphabetic index Hierarchy of classes



This page was generated with the help of DOC++.