Contains classes, functions and structs for the architecture system. More...
Classes | |
| struct | ArchitectureThreadContext |
| A thread context for the archicteture system. A single instance of the architecture system can be shared between different threads. This struct contains data that is used within each thread. More... | |
| class | CAction |
| Defines a single action and its parameters. More... | |
| class | CArchitectureManager |
| Architecture system. It keeps a list of entities, their classes and the mesh instances they have produced. It produces voxel data. More... | |
| class | CArchitectureMesh |
| This class allows to access meshes in a list of instances. More... | |
| class | CBoxLoftVolume |
| Defines a box loft primitive. More... | |
| class | CBoxVolume |
| Defines a box primitive. More... | |
| class | CDebugInfo |
| Debug information. More... | |
| class | CEvaluator |
| This object can be used to evaluate a grammar. More... | |
| class | CGrammar |
| A grammar is a collection of programs. More... | |
| class | CModule |
| Defines a program. More... | |
| class | CNGonLoftVolume |
| Defines a ngon loft primitive. More... | |
| class | CNGonVolume |
| Defines a ngon primitive. More... | |
| class | CNode |
| Defines a node in the program tree. More... | |
| struct | CPaletteDesc |
| A palette of materials definition for the VoxelFarm.com engine. More... | |
| class | CPaletteDescLibrary |
| Contains all palette descriptions available in the system. More... | |
| struct | CPrefabDesc |
| A prefab definition for the VoxelFarm.com engine. More... | |
| class | CPrefabDescLibrary |
| Contains all prefab descriptions available in the system. More... | |
| class | CRule |
| Encapsulates a series of actions to be performed over a node. This is equivalent to a "module" statement in the language. More... | |
| class | CScope |
| Defines a scope object. More... | |
| struct | Entity |
| An Entity is an unique architecture element. The entity struct tracks the location and type of the entity, along with some other data. More... | |
| struct | GenerationRequest |
| Tracks a generation request for an entity. More... | |
| class | IDebugger |
| class | IEntityGenerator |
| This interface allows the architecture engine to delegate the creation of entities to the application level. More... | |
| class | IInstanceCreator |
| This interfaces allows the grammar evaluator to delegate creation of instances. More... | |
| struct | InstancedMesh |
| Tracks a single instance of a mesh. An architecture entity will be composed of many mesh instances. More... | |
| struct | RayIntersection |
| A record used to create intersection lists during the voxelization process. More... | |
| struct | RayIntersectionList |
| An intersection list produced during the voxelization process. More... | |
| struct | RayTest |
| A record that tracks intersection points along one ray. More... | |
| class | SnapPlane |
| Contains four co-planar 3D points that define a snap plane. More... | |
Typedefs | |
| typedef TVector< InstancedMesh * > | InstanceArray |
| A list of instances. | |
| typedef RTree< InstancedMesh *, double, 3, double, 32 > | InstanceIndex |
| An RTree index to accelerate spatial instance queries. | |
| typedef TVector< Entity * > | EntityArray |
| A list of entities. | |
| typedef RTree< Entity *, double, 3, double, 32 > | EntityIndex |
| RTree index to speed up spacial queries for entities. | |
| typedef void | CreateInstance(String id, Algebra::Matrix &matrix, Algebra::Vector &size, ScopeType scopeType, String material) |
| A callback to request the creation of an instance. The IInstanceCreator interface provides an alternative to this callback. | |
| typedef RTree< CNode *, float, 3, float, 20 > | OccluderIndex |
| RTree to accelerate occlussion test. | |
Enumerations | |
| enum | PaletteType { PT_NONE, PT_DEFAULT, PT_ERASE, PT_PALETTE } |
| Type of palette of materials when collecting instances. More... | |
| enum | ActionType { ACTION_VAR, ACTION_SNAP, ACTION_MOVE, ACTION_ROTATE, ACTION_SCALE, ACTION_CENTER_PIVOT, ACTION_RESET_PIVOT, ACTION_ALIGN, ACTION_ROTATEX, ACTION_ROTATEY, ACTION_ROTATEZ, ACTION_OCCLUDE, ACTION_LOCAL, ACTION_BOX, ACTION_NGON, ACTION_LOFT_BOX, ACTION_LOFT_NGON, ACTION_PRISM, ACTION_ROOF, ACTION_CALL, ACTION_DEFER, ACTION_SELECT, ACTION_INSTANCE, ACTION_DIVIDE, ACTION_REPEAT, ACTION_PUSH, ACTION_POP, ACTION_MATERIAL } |
| Enumerates instructions for the grammar virtual machine. | |
| enum | NodeType { NODE_ROOT, NODE_NULL, NODE_VOLUME, NODE_FACE, NODE_EDGE, NODE_POINT } |
| Enumerates node types for a grammar program. | |
| enum | ScopeType { SCOPE_BOX, SCOPE_PRISM, SCOPE_PRISM_LEFT, SCOPE_PRISM_RIGHT } |
| Enumerates possible scope types. | |
| enum | DebugAction { DEBUG_RUN, DEBUG_STOP, DEBUG_STEP, DEBUG_INSTANCE } |
Functions | |
| CFastQuadrics * | loadMesh (char *filename) |
| Loads a mesh from a file (*.dat) | |
| void | updateScope (CNode *node, VoxelFarm::Algebra::Matrix *matrix, bool useCache=false) |
Variables | |
| const int | MASTER_ARCH_GENERATION_LEVEL = 12 |
| Octree level at which architecture is generated. | |
| const int | ARCH_MAX_LEVEL = 9 |
| Max Octree level at which architecture is voxelized and returned for contouring. | |
| const unsigned int | MAX_INTERSECTIONS = 40*BLOCK_SIZE*BLOCK_SIZE*BLOCK_SIZE |
| Limit for the intersections to be tracked during voxelization. | |
| const unsigned int | MAX_TEST_INTERSECTIONS = 0x7FFFF |
| Limit for the intersections to be tracked along one ray. | |
Contains classes, functions and structs for the architecture system.
Type of palette of materials when collecting instances.
Definition at line 32 of file ArchitectureManager.h.