HyperspaceExplorer 0.7.1
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
Rotope Class Reference

A four-dimensional Rotope. More...

#include <Rotope.h>

Inheritance diagram for Rotope:
Inheritance graph
[legend]
Collaboration diagram for Rotope:
Collaboration graph
[legend]

List of all members.

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

ImplpImpl_

Static Private Attributes

static const unsigned DIM = 6
 Default dimension of Rotope objects.

Detailed Description

A four-dimensional Rotope.

Author:
Lene Preuss <lene.preuss@gmail.com>

Member Function Documentation

void Rotope::drawRealm ( const Realm realm,
UI::View view 
) const [private]

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.

Parameters:
realmThe Realm to draw.
viewThe View on which to draw.
Todo:
Actually, this function belongs more into the Realm realm...

References Realm::dimension(), drawLine(), drawPoint(), drawSurface(), and drawVolume().

Referenced by Draw(), drawSurface(), and drawVolume().

Here is the call graph for this function:

Here is the caller graph for this function:

void Rotope::drawSurface ( const Realm realm,
UI::View view 
) const [private]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void Rotope::drawVolume ( const Realm realm,
UI::View view 
) const [private]

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().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string Rotope::getFunctionName ( ) const [virtual]
Returns:
The name of the Displayable in cleartext

Implements Displayable.

References Rotope::Impl::actions_.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends

Generated on Mon Apr 9 2012 20:25:18 for HyperspaceExplorer 0.7.1 by doxygen 1.7.4  -  Hosted bySourceForge.net Logo