HyperspaceExplorer 0.7.1
|
A four-dimensional Rotope. More...
#include <Rotope.h>
Classes | |
struct | Impl |
Public Member Functions | |
Rotope () | |
Construct a default Rotope (DIM -dimensional hypercube). | |
Rotope (const std::string &) | |
Execute a series of extrusions to construct a Rotope. | |
virtual std::string | getFunctionName () const |
virtual void | Initialize () |
Execute the desired extrude actions and declare FunctionParameter s. | |
virtual void | Transform (const VecMath::Rotation< 4 > &, const VecMath::Vector< 4 > &) |
Transforms a Rotope. | |
virtual void | Draw (UI::View *view) |
Draw the projected Rotope. | |
virtual void | SetParameters (const ParameterMap &parms) |
Set parameters to the Function. | |
Private Member Functions | |
void | drawRealm (const Realm &realm, UI::View *view) const |
Draw a Realm, which may be a surface of the Rotope or the entire Rotope. | |
void | drawPoint (const Realm &realm, UI::View *view) const |
Draw realm if it is a point. | |
void | drawLine (const Realm &realm, UI::View *view) const |
Draw realm if it is a line. | |
void | drawSurface (const Realm &realm, UI::View *view) const |
Draw realm if it is two-dimensional. | |
void | drawVolume (const Realm &realm, UI::View *view) const |
Draw realm if it has more than two dimensions. | |
Private Attributes | |
Impl * | pImpl_ |
Static Private Attributes | |
static const unsigned | DIM = 6 |
Default dimension of Rotope objects. |
A four-dimensional Rotope.
Draw a Realm, which may be a surface of the Rotope or the entire Rotope.
Helper function for Draw(void). Calls itself recursively until the Rotope is broken down to a sufficiently small dimension.
realm | The Realm to draw. |
view | The View on which to draw. |
References Realm::dimension(), drawLine(), drawPoint(), drawSurface(), and drawVolume().
Referenced by Draw(), drawSurface(), and drawVolume().
Draw realm
if it is two-dimensional.
The current implementation represents two dimensional surfaces as vector of the form
(0, 1, ..., n)
.
References Realm::dimension(), UI::View::drawPolygon(), drawRealm(), Realm::getSubrealms(), std::vector< _Tp, _Alloc >::push_back(), VertexHolder< 4, 1, double >::X(), and VertexHolder< 4, 1, double >::Xscr().
Referenced by drawRealm().
Draw realm
if it has more than two dimensions.
Recurse to draw the lower order realms, until we find surfaces.
References Realm::dimension(), drawRealm(), and Realm::getSubrealms().
Referenced by drawRealm().
std::string Rotope::getFunctionName | ( | ) | const [virtual] |
Implements Displayable.
References Rotope::Impl::actions_.