20 #ifndef _SAIEXECUTIONCONTEXT_H_ABSTRACT_
21 #define _SAIEXECUTIONCONTEXT_H_ABSTRACT_
23 #include "SAIGlobals.h"
25 #define NO_SCENE 0 //There is no scene defined. This value should never be seen directly.
26 #define SCRIPTED_ENCODING 1 //The scene was created dynamically through scripting calls.
27 #define ASCII_ENCODING 2 //The scene described an original VRML 1.0 encoding.
28 #define CLASSIC_VRML_ENCODING 3 //The scene is encoded using the Classic VRML encoding. The scene may be VRML 97 or this specification.
29 #define XML_ENCODING 4 //The scene is encoded using the XML file format.
30 #define BINARY_ENCODING 5 //The scene was encoded using the binary format specified in ISO/IEC 19776-3.
32 #define BIFS_ENCODING 6 //The scene was encoded using the MPEG4 BIFS encoding.
33 #define LAST_STD_ENCODING = 100 //A definition of the last constant used by the standard encodings.
38 namespace freeWRLSAI_cpp
42 class saiProtoDeclaration;
50 saiGenericContext = 0,
66 virtual saiContextType getContextType() = 0;
68 virtual const char* getSpecificationVersion() = 0;
70 virtual int getEncoding() = 0;
72 virtual const char* getWorldURL() = 0;
74 virtual saiNode* getNode(
const char* strNodeName,
int nAction) = 0;
76 virtual saiNode* createNode(
const char* strNodeType) = 0;
78 virtual saiNode* createProto(
const char* strProtoName) = 0;
80 virtual saiProtoDeclaration* getProtoDeclaration(
const char* strProtoName) = 0;
82 virtual void protoDeclarationHandling(
const char* strProtoName,
saiNode* pNode,
int nAction) = 0;
84 virtual saiProtoDeclaration* getExternProtoDeclaration(
const char* strProtoName) = 0;
86 virtual void externProtoDeclarationHandling(
const char* strProtoName,
saiNode* pNode,
int nAction) = 0;
88 virtual std::vector<saiNode*>* getRootNodes() = 0;
90 virtual std::vector<saiRoute*>* getRoutes() = 0;
92 virtual void dispose() = 0;
95 virtual std::map<std::string, saiComponent*>* getComponents() = 0;
103 #endif //_SAIEXECUTIONCONTEXT_H_ABSTRACT_