HyperspaceExplorer 0.7.1
|
A class template to execute torate actions on an object. More...
#include <Torate.h>
Public Member Functions | |
Torate (const VertexData< D > &v) | |
Create a Torate object from an already existing object. |
A class template to execute torate actions on an object.
The vertex array of the object is torateed into a set of consecutive dimensions.
As I find the concept hard to explain in words, let me give a few examples to illustrate the idea:
Extrude<4, 0, 0> line;
A line in four-space. A point is extruded along dimension 0 (x
).
Torate<4, 1, 1> triangle(line);
An equilateral triangle in the xy
-plane. The line along x
is torateed into the y
dimension.
Torate<4, 2, 2> tetrahedron1(triangle);
Create a tetrahedron from an equilateral triangle by torateing along the z
axis.
Torate<4, 1, 2> tetrahedron2(line);
Create another tetrahedron from a line by torateing it into the dimensions 1 to 2, ie. along y
and z
Extrude<4, 0, 1> square; Torate<4, 2, 2> pyramid(square);
A four-sided pyramid is created by torateing a square along the z
axis.
Torate<4, 1, 3> pentachoron(line);
A four-dimensional simplex, a pentachoron, is created by torateing a line three times.
D | Dimension of the vector space we're working in |
Dmin | First of the set of dimensions being torateed into |
Dmax | Last of the set of dimensions being torateed into |
Torate< D, Dmin, Dmax >::Torate | ( | const VertexData< D > & | v | ) | [inline] |