#include <TorusGenerator.h>
Static Public Member Functions | |
static GraphicalObject * | CreateTorus (RawObject *raw_object, double r_t, double r_p, int rings, int slices) |
static GraphicalObject * | CreateTorus (DLODObject *dlod_object, double r_t, double r_p, int rings, int slices) |
static bool | HasMore () |
static void | StartTorus (double r_t, double r_p, int rings, int slices) |
static Point | GetNextPoint () |
Static Private Member Functions | |
static GraphicalObject * | CreateRings (RawObject *raw_object, double r_t, double r_p, double min_t, double max_t, int rings, int slices) |
static GraphicalObject * | CreateRingPart (RawObject *raw_object, double r_t, double r_p, double curr_t, double min_p, double max_p, int slices) |
static GraphicalObject * | CreateRings (DLODObject *dlod_object, double r_t, double r_p, double min_t, double max_t, int rings, int slices) |
static GraphicalObject * | CreateRingPart (DLODObject *dlod_object, double r_t, double r_p, double curr_t, double min_p, double max_p, int slices) |
Static Private Attributes | |
static int | ring_index = 0 |
static int | slice_index = 0 |
static double | r_t = 0.0 |
static double | r_p = 0.0 |
static int | rings = 0 |
static int | slices = 0 |
Class that provides three different ways of creating a torus. The first two build it recursively and group the objects created during the process together. While the first method creates a TerminalObjects at each end of the recursion and sets its position to a point located on the torus, the second method takes a DLODObject and clones it whenever the recursion ends. The third way of creating a torus is a set of static routines which just iteratively return points lying on a torus.
Definition at line 22 of file TorusGenerator.h.
|
Creates a part of a ring of the torus using recursion.
Definition at line 34 of file TorusGenerator.cpp. |
|
Creates a part of a torus using recursion. This routine is almost the same as the 'CreateRings (...)' routine above, with the only difference that a discrete level of detail object is cloned whenever the recursion ends.
Definition at line 75 of file TorusGenerator.cpp. |
|
Creates a part of a torus using recursion.
Definition at line 8 of file TorusGenerator.cpp. |
|
Similar to 'CreateTorus (...)' above, with the only difference that a discrete level of detail object is cloned whenever the recursion ends.
Definition at line 70 of file TorusGenerator.cpp. |
|
Creates a torus of objects by recursively calling other routines. During the recursion, two objects are grouped together, while at the end of the recursion, a new terminal object with a specific appearance is created.
Definition at line 3 of file TorusGenerator.cpp. |
|
Returns the next point of the torus creation.
Definition at line 161 of file TorusGenerator.cpp. |
|
States if there is a valid next point that can be calculated with the routine 'GetNextPoint ()'.
Definition at line 136 of file TorusGenerator.cpp. |
|
Starts a new torus.
Definition at line 144 of file TorusGenerator.cpp. |
|
static member to store the current state. Definition at line 91 of file TorusGenerator.h. |
|
static member to store the current state. Definition at line 89 of file TorusGenerator.h. |
|
static member to store the current state. Definition at line 85 of file TorusGenerator.h. |
|
static member to store the current state. Definition at line 93 of file TorusGenerator.h. |
|
static member to store the current state. Definition at line 87 of file TorusGenerator.h. |
|
static member to store the current state. Definition at line 95 of file TorusGenerator.h. |