#include <BuildWorld.h>
Collaboration diagram for BuildWorld:
Public Types | |
enum | ECleanMethod { CLEAN_CLEAR, CLEAN_TRANS, CLEAN_TRANS_SHOW } |
Public Member Functions | |
BuildWorld () | |
bool | set (int dim, int page, int x, int y, int set) |
bool | set (const CoordBuild &c, int set) |
int | get (int dim, int page, int x, int y) const |
int | get (const CoordBuild &c) const |
int | tilesCount () const |
void | initializeNew (bool boxed) |
void | doTransparent () |
this is a fragment left from the days of tile editing. | |
void | reClacLimits () |
bool | loadFrom (MyFile *rdfl) |
bool | saveTo (MyFile *wrfl) |
bool | search (int face, int changeTo=-1, bool onlyShow=false, bool doret=true) |
void | justChanged () |
void | justGen () |
void | justSave () |
bool | getChangedFromGen () const |
bool | getChangedFromSave () const |
EGenResult | testShape () |
EGenResult | getTestResult () |
const Shape & | getTestShape () |
int | getTestShapeFcInd (CoordBuild s) const |
void | unGenerate (const Shape *shp) |
Do the opposite action to generate(). | |
void | clean (ECleanMethod meth) |
Static Public Member Functions | |
static void | get3dCoords (CoordBuild s, Coord3d &g1, Coord3d &g2) |
static void | getBuildCoords (Coord3d g, CoordBuild b[6]) |
Public Attributes | |
Coord3d | size |
BoundedBlockSpace3D | m_space |
int | nFaces |
bool | fClosed |
WorldLimits | m_limits |
SqrLimits | m_gen_bounds |
the bounds of the last generate called with this BuildWorld page plays the z axis | |
Private Member Functions | |
void | bootstrapSpace () |
create m_space | |
void | justInvalidatedTest () |
Private Attributes | |
BuildDimension | dm [3] |
bool | fChangedFromGen |
bool | fChangedFromSave |
Shape | m_testShape |
this shape is used to test if the build is legal. | |
EGenResult | m_testResult |
valid only when m_bTested == true | |
bool | m_bTested |
Classes | |
struct | TransSqr |
TransSqr is the datum of the transp internal lookup table used doTransparent(). More... | |
struct | WorldLimits |
WorldLimits contains the actual limits of BuildWorld in its 3 dimentions. More... |
The data is represented in its rawest and most direct form. Every polygon the user sees in the design view Translateds to datum in this class. From this data the Shape is later generated for the solution engine to work on. The data is organized in three BuildDimension structures, each for every axis. every such BuildDimension contains the tiles which are prependicular to that axis. an instance of this class is contained by CubeDoc as the current state of the design editor.
BuildWorld::BuildWorld | ( | ) | [inline] |
bool BuildWorld::set | ( | int | dim, | |
int | page, | |||
int | x, | |||
int | y, | |||
int | set | |||
) |
bool BuildWorld::set | ( | const CoordBuild & | c, | |
int | set | |||
) |
int BuildWorld::get | ( | int | dim, | |
int | page, | |||
int | x, | |||
int | y | |||
) | const [inline] |
int BuildWorld::get | ( | const CoordBuild & | c | ) | const [inline] |
int BuildWorld::tilesCount | ( | ) | const [inline] |
void BuildWorld::initializeNew | ( | bool | boxed | ) |
void BuildWorld::doTransparent | ( | ) |
this is a fragment left from the days of tile editing.
it serves the purpose of finding which tiles are legal to be new tiles. nowa days all it does effectivly is calculate m_limits properly. this code should be refactored into a different method.
void BuildWorld::reClacLimits | ( | ) |
bool BuildWorld::loadFrom | ( | MyFile * | rdfl | ) |
bool BuildWorld::saveTo | ( | MyFile * | wrfl | ) |
bool BuildWorld::search | ( | int | face, | |
int | changeTo = -1 , |
|||
bool | onlyShow = false , |
|||
bool | doret = true | |||
) |
void BuildWorld::justChanged | ( | ) | [inline] |
void BuildWorld::justGen | ( | ) | [inline] |
void BuildWorld::justSave | ( | ) | [inline] |
bool BuildWorld::getChangedFromGen | ( | ) | const [inline] |
bool BuildWorld::getChangedFromSave | ( | ) | const [inline] |
EGenResult BuildWorld::testShape | ( | ) |
EGenResult BuildWorld::getTestResult | ( | ) | [inline] |
const Shape& BuildWorld::getTestShape | ( | ) | [inline] |
void BuildWorld::get3dCoords | ( | CoordBuild | s, | |
Coord3d & | g1, | |||
Coord3d & | g2 | |||
) | [static] |
void BuildWorld::getBuildCoords | ( | Coord3d | g, | |
CoordBuild | b[6] | |||
) | [static] |
int BuildWorld::getTestShapeFcInd | ( | CoordBuild | s | ) | const |
void BuildWorld::unGenerate | ( | const Shape * | shp | ) |
Do the opposite action to generate().
take the shape and make a build from it. currently not in use.
void BuildWorld::clean | ( | ECleanMethod | meth | ) |
void BuildWorld::bootstrapSpace | ( | ) | [private] |
create m_space
void BuildWorld::justInvalidatedTest | ( | ) | [inline, private] |
bool BuildWorld::fClosed |
SqrLimits BuildWorld::m_gen_bounds [mutable] |
the bounds of the last generate called with this BuildWorld page plays the z axis
BuildDimension BuildWorld::dm[3] [private] |
bool BuildWorld::fChangedFromGen [private] |
bool BuildWorld::fChangedFromSave [private] |
Shape BuildWorld::m_testShape [private] |
this shape is used to test if the build is legal.
EGenResult BuildWorld::m_testResult [private] |
valid only when m_bTested == true
bool BuildWorld::m_bTested [private] |