#include <Scene.h>
Inheritance diagram for Scene:

Public Member Functions | |
| Scene () | |
| virtual | ~Scene () |
| void | def (const char *nodeName, Node *value) |
| Node * | use (const char *nodeName) |
| Node * | getNodeByName (const char *nodeName) |
| void | undef (const char *nodeName) |
| int | addSymbol (std::string s) |
| const std::string & | getSymbol (int id) const |
| void | setRoot (Node *root) |
| Node * | getRoot () const |
| void | setNodes (NodeList *nodes) |
| virtual const char * | parseVRML (FILE *f) |
| Node * | createNode (const char *nodeType) |
| bool | writeVRML (FILE *f) |
| void | addProto (std::string name, Proto *value) |
| Proto * | getProto (std::string name) |
| void | addRoute (Node *src, int eventOut, Node *dest, int eventIn) |
| void | deleteRoute (Node *src, int eventOut, Node *dest, int eventIn) |
| int | getFieldType (std::string name) |
| void | errorf (const char *fmt,...) |
| void | invalidNode (const char *nodeName) |
| void | invalidField (const char *node, const char *field) |
| void | setField (Node *node, int field, FieldValue *value) |
| void | addNode (Node *node) |
| void | removeNode (Node *node) |
| std::string | generateUniqueNodeName (Node *node) |
| const NodeList * | getNodes () const |
| bool | isTempSave () const |
| void | ref () |
| void | unref () |
Static Public Member Functions | |
| static bool | validRoute (Node *src, int eventOut, Node *dst, int eventIn) |
| static const char * | getFieldTypeName (int type) |
| static void | checkInLicense () |
| static void | checkOutLicense () |
Private Attributes | |
| int | _refs |
| NodeMap | _nodeMap |
| Node * | _root |
| StringMap | _symbols |
| std::vector< std::string > | _symbolList |
| ProtoMap | _protos |
| StringMap | _fieldTypeMap |
| NodeList * | _nodes |
| int | _numSymbols |
| NodeViewpoint * | _defaultViewpoint |
| NodeViewpoint * | _currentViewpoint |
| std::string | _compileErrors |
| bool | _tempSave |
std::map<std::string,Node *> NodeMap, std::map<std::string,int> StringMap, std::map<std::string,Proto *> ProtoMap. Important variables are:
| Scene::Scene | ( | ) |
Scene class constructor. Initialises the private "StringMap _fieldTypeMap" to contain pairs of "std::string-Int" as "MFVec3f - MFVEC3F" (the int ID MFVEC3F is returned from the scanner). Also initialises the private "ProtoMap _protos" to contain pairs of "std::string-Proto" as "Anchor - ProtoAnchor". In addition it assigns "Node _root" of the Scene to be a "Group" Node. Also it creates a default viewpoint.
TM
TM
| Scene::~Scene | ( | ) | [virtual] |
| void Scene::def | ( | const char * | nodeName, | |
| Node * | value | |||
| ) |
In case of a VRML DEF keyword. Assigns the std::string "nodename" to the Node.
| Node * Scene::use | ( | const char * | nodeName | ) |
In case of a VRML "USE" statement.
| nodeName | the name of the node. |
| Node * Scene::getNodeByName | ( | const char * | nodeName | ) |
| void Scene::undef | ( | const char * | nodeName | ) |
Deassociate the Node with name 'nodeName' from that nodeName (in the NodeMap HastTable).
| int Scene::addSymbol | ( | std::string | s | ) |
Primary used by the lexer. Adds the tokenised std::string input yytext to the Symbol HashTable and then in the Vector(Array) that contains all the parsed tokens.
| s | std::string read by the lexr |
| const string & Scene::getSymbol | ( | int | id | ) | const |
Returns a std::string scanned by the lexer.
| id | the id(position) of the lexer input std::string |
| void Scene::setNodes | ( | NodeList * | nodes | ) |
Sets all the root Nodes in the scenegraph. They are set as children of the _root "Group" node. (set in the Scene constructor).
| const char * Scene::parseVRML | ( | FILE * | f | ) | [virtual] |
| Node * Scene::createNode | ( | const char * | nodeType | ) |
| bool Scene::writeVRML | ( | FILE * | f | ) |
Outputs to a file all the scene contents(all nodes).
| void Scene::addProto | ( | std::string | name, | |
| Proto * | value | |||
| ) |
| Proto* Scene::getProto | ( | std::string | name | ) |
Checks if the Route is valid (from eventOut to eventIn).
| int Scene::getFieldType | ( | std::string | name | ) |
Returns an int from a StringMap HashTable for FieldTypes. That is the int id from the StringMap _fieldTypeMap e.g. key "MFVec3f"-MFVEC3F value
| const char * Scene::getFieldTypeName | ( | int | type | ) | [static] |
Returns a std::string from a StringMap HashTable for FieldTypes. From the pairs std::string-Id returns the opposite of getFieldType i.e. the std::string name
| void Scene::errorf | ( | const char * | fmt, | |
| ... | ||||
| ) |
Outputs error messages to a buffer
| void Scene::invalidNode | ( | const char * | nodeName | ) |
Outputs error message. In case of an invalid DEF name.
| void Scene::invalidField | ( | const char * | node, | |
| const char * | field | |||
| ) |
Outputs error message. In case of an invalid Field.
| void Scene::setField | ( | Node * | node, | |
| int | field, | |||
| FieldValue * | value | |||
| ) |
Sets the field of the current node to the fieldValue
| void Scene::addNode | ( | Node * | node | ) |
| void Scene::removeNode | ( | Node * | node | ) |
Removes the Node from the Scene. Actually from Scene._nodes ( a NodeList i.e. an Array<Node*>)
| string Scene::generateUniqueNodeName | ( | Node * | node | ) |
In case of Node::write() and that Node doesn't have a nodeName, generate a new nodeName.
| const NodeList* Scene::getNodes | ( | ) | const [inline] |
| bool Scene::isTempSave | ( | ) | const [inline] |
| void Scene::ref | ( | ) | [inline] |
| void Scene::unref | ( | ) | [inline] |
| void Scene::checkInLicense | ( | ) | [static] |
FLEX_LM Check_in license
| void Scene::checkOutLicense | ( | ) | [static] |
FLEX_LM Check_out license
int Scene::_refs [private] |
NodeMap Scene::_nodeMap [private] |
Node* Scene::_root [private] |
StringMap Scene::_symbols [private] |
std::vector<std::string> Scene::_symbolList [private] |
ProtoMap Scene::_protos [private] |
StringMap Scene::_fieldTypeMap [private] |
NodeList* Scene::_nodes [private] |
int Scene::_numSymbols [private] |
NodeViewpoint* Scene::_defaultViewpoint [private] |
NodeViewpoint* Scene::_currentViewpoint [private] |
std::string Scene::_compileErrors [private] |
bool Scene::_tempSave [private] |
1.5.1-p1