Classes | |
| class | BSP |
| Axis-aligned BSP tree (specialized for Object class). More... | |
| class | PolygonBSP |
| Polygon-aligned BSP tree. More... | |
| class | ExceptionBSP |
| Exception in BSP. More... | |
| class | Engine |
| Engine interface. More... | |
| class | Events |
| Engine event nexus. More... | |
| class | Global |
| Global class collects globals as members to determine their order of construction. More... | |
| class | Graph |
| Graph class. More... | |
| class | VisitorDraw |
| Visitor that draws a Graph. More... | |
| class | VisitorComputeNormals |
| Visitor to compute normal vectors on polygons and vertexs. More... | |
| struct | DefaultNodeValues |
| class | GraphMaker |
| Facade to help make a Graph. More... | |
| class | GraphTraversal |
| Defines the traversal of a Graph, has node stack, Visitors can push. More... | |
| class | VisitorCloner |
| Visitor to re-clone every Node clone (for a new clone of a Graph). More... | |
| class | VisitorLod |
| Visitor to set the LOD of a Graph. Searches for a Graph's LodNode. This should be fast enough if LodNode is the Graph's root node. More... | |
| class | GraphImporter |
| Imports 3D model files as Graph objects. More... | |
| class | ObjectLod |
| Dynamic LOD for an Object. More... | |
| class | UserLod |
| User-selected LOD. More... | |
| class | Node |
| Base Node class. More... | |
| class | LodNode |
| LodNode acts a switch for the traversal of a Graph. More... | |
| class | PartitionNode |
| PartitionNode defines a subtree of a Graph that can be disabled. More... | |
| class | TransformNode |
| A node in the transform hierarchy. More... | |
| class | VertexsNode |
| Contains an array of local vertexs. More... | |
| class | NormalsNode |
| Contains two arrays of normals (polygon normals and vertex normals). More... | |
| class | ModesNode |
| Node that defines a bit combination of drawing modes. More... | |
| class | MaterialNode |
| Define material properties of polygons for lighting model. More... | |
| class | TextureNode |
| Contains a 2D texture object. More... | |
| class | ColorsNode |
| Node for 1,3,or 4 RGBA colors. More... | |
| class | PolygonNode |
| Polygon Node. More... | |
| class | PolygonNode_TriColor1 |
| Polygon Node (triangle, same color). More... | |
| class | PolygonNode_TriColor3 |
| Polygon Node (triangle, per-vertex colors). More... | |
| class | PolygonNode_QuadColor1 |
| Polygon Node (quad, same color). More... | |
| class | PolygonNode_QuadColor4 |
| Polygon Node (quad, per-vertex colors). More... | |
| class | PolygonNode_Tex |
| Base class for a textured polygon node. More... | |
| class | PolygonNode_TexTriColor1 |
| Polygon Node (triangle, same color, textured). More... | |
| class | PolygonNode_TexTriColor3 |
| Polygon Node (triangle, per-vertex colors, textured). More... | |
| class | PolygonNode_TexQuadColor1 |
| Polygon Node (quad, same color, textured). More... | |
| class | PolygonNode_TexQuadColor4 |
| Polygon Node (quad, per-vertex colors, textured). More... | |
| class | SpecialNode |
| Special-purpose user-defined node. More... | |
| class | NodeClones |
| During traversal, clone (private) nodes override shared (original) nodes. NodeClones is part of Graph's implementation. More... | |
| class | Visitor |
| Base class for a Visitor of a Graph. More... | |
| class | VisitorGetFirstTransformNode |
| class | VisitorSetRecomputeNormals |
| Visitor to schedule recomputing normal vectors. More... | |
| class | Object |
| Base class for 3D objects. More... | |
| class | Settings |
| Global program settings. More... | |
| class | Sprite |
| A Sprite is composed of quads oriented to viewplane and eye's up vector. More... | |
| class | EngineStats |
| Engine statistics. More... | |
| class | Task |
| Schedules task to be run by main thread. More... | |
| class | Timer |
| Singleton to register and invoke timer callbacks. More... | |
| class | Int3 |
| Three integers. More... | |
| class | SortableDistance |
| Template class for sorting (general) objects by distance. More... | |
| class | View |
| View class (data struct). More... | |
| class | Volume |
| Abstract Volume. More... | |
| class | SphereVolume |
| Volume defined as a sphere (position,radius). More... | |
| class | BoxVolume |
| Volume defined as an axis-aligned 3D box. More... | |
| class | BSPVolume |
| Volume precisely defined by a polygon-aligned BSP tree. More... | |
| class | World |
| World class defines a demand-loaded volumetric hiearchy of Objects. More... | |
Namespaces | |
| namespace | defs |
| Engine definitions, constants, enums. | |
Typedefs | |
| typedef SortableDistance < Object > | SortableObject |
| typedef map< string, TextureConfig > | TextureConfigMap |
Enumerations | |
| enum | eTestMode { eTestMode_NONE = 0, eTestMode_WORLD = (1<<0) } |
| enum | eAttached { eAttached_WAS_NOT_ATTACHED, eAttached_WAS_ATTACHED } |
| enum | { TYPESIG_OBJECT = TYPESIG_GFX_USER, TYPESIG_BSP_NODE, TYPESIG_NODE, TYPESIG_GRAPH, TYPESIG_QUADRANT, TYPESIG_AFTER_ENGINE } |
| Type signatures specifically for Engine. More... | |
| enum | { AXIS_LAT = AXIS_X, LAT = AXIS_LAT, AXIS_LON = AXIS_Y, LON = AXIS_LON, AXIS_ALT = AXIS_Z, ALT = AXIS_ALT } |
Functions | |
| static BoxVolume | SplitLeft (const BoxVolume &volume, uint axis) |
| static BoxVolume | SplitRight (const BoxVolume &volume, uint axis) |
| void | DrawWorldBoxVolume (const BoxVolume &worldBoxVolume, const RGBA color) |
| void | DrawWorldBoxVolume (const BoxVolume &worldBoxVolume, const RGBA color) |
| template<typename DERIVED_NODE> | |
| DERIVED_NODE::Ptr | CastNode (Node::Ptr node, const Node::TypeId typeId) |
| template<typename NODE, typename PARENT_NODE> | |
| NODE::Ptr | FindOrAttachNewNode (const typename NODE::Value &nodeValue, const Node::TypeId typeId, typename PARENT_NODE::Ptr parent, Node::SortedNodes &children) |
| SharedPtr< Graph > | ImportGraph (const string &fnameModel, const Vector3 vertexScale=Vector3(1, 1, 1), const Vector3 vertexOffset=Vector3(0, 0, 0)) |
| EyeVertex | TransformObjectPositionToEyeSpace (SharedPtr< Object > obj) |
| void | BeginSpecialDraw (void) |
| void | EndSpecialDraw (void) |
| EyeVertex | TransformObjectPositionToEyeSpace (SharedPtr< Object > obj) |
| void | CHECK_PATERNITY (const Node &parent, const Node &child) |
| static int | LOWER_NODE_PRIORITY1 (int priority1) |
| static void | CHECK_PARENT_CHILD_PRIORITY (const Node &parent, const Node &child) |
| static void | CHECK_SIBLING_PRIORITY (const Node &parent, const Node &sibling1, const Node &sibling2) |
| static void | CHECK_CHILDREN (const Node::SortedNodes &children) |
| void | CheckNode (const Node *node, bool nullOk) |
| static void | ReindexSiblingNodes (SortedArray< Node::SortableNode > &sortedNodes, const uint idx) |
| static bool | PartitionNodeOrTransformNodeLessThan (const Node::Value &valuePartitionOrTransform, const Node::Value &valueOther) |
| template<typename NODE> | |
| void | CHECK_NODE (SharedPtrNull< NODE > node) |
| template<typename NODE> | |
| void | CHECK_NODE_NULL_OK (SharedPtrNull< NODE > node) |
| INLINE void | CHECK_NODE (const Node *node) |
| static TransformNode::Ptr | GetFirstTransformNode (Graph &graph) |
| ostream & | operator<< (ostream &strm, const Settings &settings) |
| ostream & | operator<< (ostream &strm, const EngineStats &stats) |
| void | ConfigureTexture (SharedPtr< Texture > texture, const string &textureName) |
| ostream & | operator<< (ostream &strm, const SphereVolume &sphereVolume) |
| ostream & | operator<< (ostream &strm, const BoxVolume &boxVolume) |
| INLINE fp | ApproxRadiusOfBox (const fp x_width, const fp y_width, const fp z_width) |
| void | ThreadQuadrantPopulate (long quadrant) |
Variables | |
| Global | global |
| const uint | GRAPH_TRAVERSAL_PREALLOCATE_SIZE = 256 |
| static fp | sDrawNormalScale = WORLD( 250.0 ) |
| static EyeVertex | sEyeNormal |
| static GFX::ePolygonMode | sPolygonMode = GFX::ePolygonMode_DEFAULT |
| static const DefaultNodeValues | sDefaultNodeValues |
| static const string | sUserLodStrings [] = { "DEFAULT", "MIN", "LOW", "MID", "HIGH", "MAX" } |
| static GFX::Modes | sGfxModes |
| Settings | gSettings |
| static const Texture::eFunc | DEFAULT_SPRITE_TEXTURE_FUNC = Texture::eFunc_REPLACE |
| TextureConfigMap | sTextureConfigMap |
| static FPS | sFPS |
| typedef SortableDistance<Object> eng::SortableObject |
typedef map<string,TextureConfig> eng::TextureConfigMap [static] |
| anonymous enum |
Type signatures specifically for Engine.
| enum eng::eAttached |
| enum eng::eTestMode |
| void eng::BeginSpecialDraw | ( | void | ) |
Common functions for special drawing outside of a Graph. These complement GFX functions:
eng::BeginDraw(); GFX::Begin( GFX::ePrim_QUADS ); ... GFX::End(); eng::EndDraw();
| DERIVED_NODE::Ptr eng::CastNode | ( | Node::Ptr | node, | |
| const Node::TypeId | typeId | |||
| ) | [inline] |
| static void eng::CHECK_CHILDREN | ( | const Node::SortedNodes & | children | ) | [static] |
Check children (typesigs, priority).
| INLINE void eng::CHECK_NODE | ( | const Node * | node | ) |
| void eng::CHECK_NODE | ( | SharedPtrNull< NODE > | node | ) | [inline] |
| void eng::CHECK_NODE_NULL_OK | ( | SharedPtrNull< NODE > | node | ) | [inline] |
| static void eng::CHECK_PARENT_CHILD_PRIORITY | ( | const Node & | parent, | |
| const Node & | child | |||
| ) | [static] |
General rule:
| void eng::CHECK_PATERNITY | ( | const Node & | parent, | |
| const Node & | child | |||
| ) |
Check if parent node really is the parent.
| static void eng::CHECK_SIBLING_PRIORITY | ( | const Node & | parent, | |
| const Node & | sibling1, | |||
| const Node & | sibling2 | |||
| ) | [static] |
Check sibling priority. See elsewhere for exceptions.
| void eng::CheckNode | ( | const Node * | node, | |
| bool | nullOk | |||
| ) |
Basic check for an individual Node. CHECK_NODE*() macros expand to CheckNode() with appropriate args.
| void eng::@94::ConfigureTexture | ( | SharedPtr< Texture > | texture, | |
| const string & | textureName | |||
| ) | [static] |
Apply texture configuration to a Texture object.
| void eng::DrawWorldBoxVolume | ( | const BoxVolume & | worldBoxVolume, | |
| const RGBA | color | |||
| ) |
| void eng::DrawWorldBoxVolume | ( | const BoxVolume & | worldBoxVolume, | |
| const RGBA | color | |||
| ) |
For debugging, draw a BoxVolume.
| void eng::EndSpecialDraw | ( | void | ) |
| NODE::Ptr eng::FindOrAttachNewNode | ( | const typename NODE::Value & | nodeValue, | |
| const Node::TypeId | typeId, | |||
| typename PARENT_NODE::Ptr | parent, | |||
| Node::SortedNodes & | children | |||
| ) | [inline] |
Try to find a matching node. If found, NOP. Else, create and attach node.
| nodeValue | ||
| typeId | Error-checking: children must be homogeneous. | |
| parent | ||
| children | Children of parent. |
| static TransformNode::Ptr eng::GetFirstTransformNode | ( | Graph & | graph | ) | [static] |
Get the first TransformNode of a Graph.
| SharedPtr<Graph> eng::ImportGraph | ( | const string & | fnameModel, | |
| const Vector3 | vertexScale = Vector3(1, 1, 1), |
|||
| const Vector3 | vertexOffset = Vector3(0, 0, 0) | |||
| ) |
| static int eng::LOWER_NODE_PRIORITY1 | ( | int | priority1 | ) | [static] |
| ostream & eng::operator<< | ( | ostream & | strm, | |
| const BoxVolume & | boxVolume | |||
| ) |
Print BoxVolume.
| ostream & eng::operator<< | ( | ostream & | strm, | |
| const SphereVolume & | sphereVolume | |||
| ) |
Print SphereVolume.
| ostream & eng::operator<< | ( | ostream & | strm, | |
| const EngineStats & | stats | |||
| ) |
operator<<(EngineStats)
| ostream & eng::operator<< | ( | ostream & | strm, | |
| const Settings & | settings | |||
| ) |
Print Settings configuration.
| static bool eng::PartitionNodeOrTransformNodeLessThan | ( | const Node::Value & | valuePartitionOrTransform, | |
| const Node::Value & | valueOther | |||
| ) | [inline, static] |
PartitionNode and Transform are exceptions where hetergeneous children are necessary and allowed. The priority/Value will be equal, so their order will be chronological.
| static void eng::ReindexSiblingNodes | ( | SortedArray< Node::SortableNode > & | sortedNodes, | |
| const uint | idx | |||
| ) | [inline, static] |
Re-index sibling nodes.
| void eng::ThreadQuadrantPopulate | ( | long | quadrant | ) |
| EyeVertex eng::TransformObjectPositionToEyeSpace | ( | SharedPtr< Object > | obj | ) |
const Texture::eFunc eng::DEFAULT_SPRITE_TEXTURE_FUNC = Texture::eFunc_REPLACE [static] |
| const uint eng::GRAPH_TRAVERSAL_PREALLOCATE_SIZE = 256 |
const DefaultNodeValues eng::sDefaultNodeValues [static] |
fp eng::sDrawNormalScale = WORLD( 250.0 ) [static] |
EyeVertex eng::sEyeNormal [static] |
FPS eng::sFPS [static] |
GFX::Modes eng::sGfxModes [static] |
GFX::ePolygonMode eng::sPolygonMode = GFX::ePolygonMode_DEFAULT [static] |
Polygon mode.
TextureConfigMap eng::sTextureConfigMap [static] |
const string eng::sUserLodStrings[] = { "DEFAULT", "MIN", "LOW", "MID", "HIGH", "MAX" } [static] |
LOD/string conversions.
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:21 2007