Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.trapezium.vrml.grammar: Javadoc index of package com.trapezium.vrml.grammar.


Package Samples:

com.trapezium.vrml.grammar

Classes:

VRML97parser: Main class for parsing a VRML 2.0 file. A Scene is the root of a VRML element hierarchy. This is a simple hierarchy where each VrmlElement may or may not have children. Much of the additional functionality required is implemented by using the "Visitor Pattern" on this hierarchy. This pattern encapsulates features in the visitor objects. Within the SceneRule factory, the above parameters eventually turn into a Token enumerator, and the Scene is constructed as follows: TokenEnumerator tokenEnumerator = ... Scene scene = new Scene( fileUrl, tokenEnumerator ); VRML97parser parser = new VRML97parser(); ...
PROTORule: Creates the scene graph component for a PROTO declaration. Grammar handled by "Build" method: proto ::= PROTO nodeTypeId [ interfaceDeclarations ] { protoBody } ; interfaceDeclarations ::= interfaceDeclaration | interfaceDeclaration interfaceDeclarations | empty ; protoBody ::= protoStatements node statements ; protoStatements ::= protoStatement | protoStatement protoStatements | empty ; Note: the implementation of the "protoBody" portion of above grammar is done through the SceneRule, followed by a check that the body consists of at least one node. This check (and possible error mark) is done ...
NodeStatementRule: Creates the scene graph component for a node This is the only part of the grammar other than the VRML97parser that is publicly accessible. This is necessary because SFNodeValue and MFNodeValue in the com.trapezium.vrml.fields package use an instance of this to create node scene graph components. Grammar handled by "Build" method: nodeStatement ::= node | DEF nodeNameId node | USE nodeNameId ; The portion "DEF nodeNameId node" is handled by DEFRule.java The portion "USE nodeNameId" is handled by USERule.java
SpecNodeRule: Process the file we are using to generate built in node classes. This is similar, but not identical to ".wrl" file processing. The "Spec" object is built as follows: Spec s = new Spec(); SpecRule.Build( v, s ); The spec grammar is: spec: specNode specNode: Category categoryName { interfaceDeclarations* } nodeType { interfaceDeclarations* } When the "Spec" object has been created, we create a visitor to visit each node, and generate code based on the interfaceDeclarations and the embedded controls (tips, etc.)
ScriptGutRule: Creates the scene graph component for the internals of a Script node. This is much different than other built in nodes because Script nodes allow user defined interface (field) extensions. Grammar handled by "Build" method: scriptGut: nodeGut restrictedInterfaceDeclaration eventIn fieldType eventInId IS eventInId eventOut fieldType eventOutId IS eventOutId field fieldType fieldId IS fieldId
InterfaceDeclarationRule: Creates an interface field scene graph component. The "interfaceDeclaration" handles exposedField, field, eventIn, and eventOut interface declarations. field, eventIn, and eventOut declarations are handled by the RestrictedInterfaceDeclarationRule. Grammar handled by "Build" method: interfaceDeclaration: restrictedInterfaceDeclaration exposedField fieldType fieldId fieldValue
PROTONodeRule: Creates the scene graph component for a PROTO instance. Grammar handled by "Build" method: protoNodeTypeId { nodeGuts } Note: the PROTOInstance "copyBaseNodeInfo" method does not copy all nodes in the PROTO declaration body, and substitute values as indicated by IS. When this is done, PROTO checking can be done for PROTO interface fields passed through IS.
Spec: The scene graph component for a Spec node. Spec nodes were used to generate source files in package com.trapezium.vrml.node.generated. Re-architecture due to OutOfMemory problem made generated nodes much less complex, probably should eliminate these eventually. Note: spec nodes & code generation no longer works. Probably need to drop this altogether.
BuiltInNodeRule: Creates built in VRML node scene graph components. Grammar handled by "Build" method: builtInNodeTypeId { builtInNodeGuts } Grammar handled by "BuildNodeGuts" method: builtInNodeGuts ::= nodeBodyElement | nodeBodyElement nodeBody | empty ;
DEFRule: Creates a DEF node scene graph component. Grammar handled by "Build" method: DEF nodeNameId node After the node is created, its name is registered in the Scene. If any other node is registered with that same name, both are marked with "duplicate DEF" warnings.
StatementRule: Creates the scene graph component for a node, PROTO, or ROUTE. Grammar handled by "Build" method: statement ::= nodeStatement | protoStatement | routeStatement ; protoStatement ::= proto | externproto ;
RestrictedInterfaceDeclarationRule: Creates the scene graph component for a eventIn, eventOut & fields. Grammar handled by "Build" method: restrictedInterfceDeclaration: eventIn fieldType eventInId eventOut fieldType eventOutId field fieldType fieldId fieldValue
ExternInterfaceDeclarationRule: Creates an interface declaration. Grammar handled by "Build" method: externInterfaceDeclaration: eventIn fieldType eventInId eventOut fieldType eventOutId field fieldType fieldId exposedField fieldType fieldId
VRML97: Static public methods about the VRML specification. This class contains information about all VRML 2.0 nodes, fields, and default field values. It has static public methods for accessing this information, and is used mainly by the parser.
Spelling: Static public methods for guessing at intended spelling of words. This is used by the parsing to substitute in valid field/node names when invalid ones are encountered in parsing. Parsing then continues as if the valid name were found.
Table7: Table7 handles all the VRML97 base profile conformance limits, from Table 7 of the VRML97 specification. All warnings resulting from this limit include the string "base profile", and can be found by searching for this string.
NodeBodyRule: Creates the scene graph component representing the body of a node. Grammar handled by "Build" method: nodeBody ::= nodeBodyElement | nodeBodyElement nodeBody | empty ;
NodeRule: Creates a PROTO, Script, or built int VRML node scene graph component. Grammar handled by "Build" method: node: nodeTypeId { nodeGuts } Script { scriptGuts }
EXTERNPROTORule: Creates an EXTERNPROTO scene graph component. Grammar handled by "Build" method: proto: EXTERNPROTO nodeTypeId [ externInterfaceDeclarations ] mfstringValue
DEFuserFieldDescriptor: An MFFieldDescriptor which optionally references a DEF node. This is used only for the Anchor node "url" field, which may reference a Viewpoint node DEFfed in another file.
ScriptRestrictedInterfaceDeclarationRule: Creates the scene graph component for a eventIn, eventOut & fields, allows IS initializations if contained in PROTO. Otherwise, same as restrictedInterfaceDeclaration.
SpecNode: Creates the scene graph component for a Spec node. Spec nodes contained information read from a file describing VRML built in nodes. Note: No longer in use.
DEFNameFactory: The DEFNameFactory provides an interface option for the VRML97parser that allows it to automatically generate DEF names for nodes that do not have DEF names.
ROUTERule: Creates the scene graph component for a ROUTE. Grammar handled by "Build" method: ROUTE nodeNameId.eventOutId TO nodeNameId.eventInId
ScriptNodeRule: Creates the scene graph component for a Script node. Grammar handled by "Build" method: Script { scriptGuts }

Home | Contact Us | Privacy Policy | Terms of Service