VRUT::VRMLParser::GNode Struct Reference

basic structure for defined Geometry nodes that are hidden in Switch and will be maybe used More...

Inheritance diagram for VRUT::VRMLParser::GNode:

VRUT::VRMLParser::Node

List of all members.

Public Member Functions

 GNode (wxString name, GeometryNode *sn, wxString defName=wxT(""))
void setMaterial (VRUT::Material *mat, wxString name=wxT(""), wxString dn=wxT(""))
void setGeometry (Geometry *g, wxString name=wxT(""), wxString dn=wxT(""))
 ~GNode ()
 destructs GNode, if the Geometry Node wasn't used than delete it
void addToScene (wxString parentUid)
 adds Geometry object with geometry and material to the scene

Public Attributes

VRUT::Materialmparam
 pointer to Material Node in the VRUT scene
wxString mname
 name of the material which should be connected to Geometry Node
wxString mdef
 name defined in VRML file to define the materail node
Geometrygparam
 pointer to Geometry Node in the VRUT scene
wxString gname
 name of the geometry in VRUT scene
wxString gdef
 name of the geometry defined in VRML file


Detailed Description

basic structure for defined Geometry nodes that are hidden in Switch and will be maybe used

Definition at line 141 of file vrmlparser.h.


Constructor & Destructor Documentation

VRUT::VRMLParser::GNode::GNode ( wxString  name,
GeometryNode sn,
wxString  defName = wxT("") 
) [inline]

creates GNode

Parameters:
[in] name name of the Scene Node
[in] sn pointer to Geometry Node
[in] defName name of the geometry defined in VRML file

Definition at line 158 of file vrmlparser.h.

00158                                                                             :Node(name,sn,defName){
00159             remove = true;
00160           }

VRUT::VRMLParser::GNode::~GNode (  )  [inline]

destructs GNode, if the Geometry Node wasn't used than delete it

Definition at line 172 of file vrmlparser.h.

00172                   {
00173             if (remove) {
00174               delete mparam;
00175               delete gparam;
00176             }
00177           }


Member Function Documentation

void VRUT::VRMLParser::GNode::setMaterial ( VRUT::Material mat,
wxString  name = wxT(""),
wxString  dn = wxT("") 
) [inline]

sets material to geometry object

Parameters:
[in] mat pointer to material node
[in] name name of a material in VRUT scene to assign the geometry
[in] dn name of a material defined in VRML file

Definition at line 165 of file vrmlparser.h.

00165 { mparam = mat; mname = name; mdef=dn; }

void VRUT::VRMLParser::GNode::setGeometry ( Geometry g,
wxString  name = wxT(""),
wxString  dn = wxT("") 
) [inline]

sets geometry to geometry object

Parameters:
[in] g pointer to geometry node
[in] name name of geometry in VRUT scene to assign to geometry object
[in] dn name of a geometry defined in VRML file

Definition at line 170 of file vrmlparser.h.

00170 { gparam = g; gname = name; gdef = dn;}

void VRUT::VRMLParser::GNode::addToScene ( wxString  parentUid  )  [inline, virtual]

adds Geometry object with geometry and material to the scene

Implements VRUT::VRMLParser::Node.

Definition at line 179 of file vrmlparser.h.

00179                                              {
00180             //look if it is already in the scene
00181             DefNamesListSN::iterator it = vrmlp->defNamesListSN.find(nodeName);
00182             if ( it != vrmlp->defNamesListSN.end()) {
00183               wxCommandEvent ev1 = Event::GET_EVT_SCENE_NODE_COPY(vrmlp->sceneID, it->second, parentUid);
00184               return;
00185             }
00186                  wxCommandEvent ev = Event::GET_EVT_SCENE_NODE_INSERT(vrmlp->sceneID, static_cast<GeometryNode*> (sceneNode), parentUid);
00187                  vrmlp->module->PostToKernel(ev);
00188                  //look if material or geometry isn't already in the scene
00189                  DefNamesListM::iterator itm;
00190                  if ( (mdef != wxT("") && (itm  = vrmlp->defNamesListM.find(mdef)) != vrmlp->defNamesListM.end()) || mparam == NULL ){
00191                              wxCommandEvent ev1 = Event::GET_EVT_SCENE_NODE_MATERIAL_SET(vrmlp->sceneID, nodeName, itm->second->name);
00192                              vrmlp->module->PostToKernel(ev1);
00193                  } else {
00194               wxCommandEvent ev0 = Event::GET_EVT_SCENE_MATERIAL_ADD(vrmlp->sceneID, mparam);
00195               vrmlp->module->PostToKernel(ev0);
00196                              wxCommandEvent ev1 = Event::GET_EVT_SCENE_NODE_MATERIAL_SET(vrmlp->sceneID, nodeName, mname);
00197                              vrmlp->module->PostToKernel(ev1);
00198                  }
00199             DefNamesListG::iterator itg;
00200             if ( (gdef != wxT("") && (itg = vrmlp->defNamesListG.find(gdef)) != vrmlp->defNamesListG.end()) || gparam == NULL){
00201               wxCommandEvent ev3 = Event::GET_EVT_SCENE_NODE_GEOMETRY_SET(vrmlp->sceneID, nodeName, itm->second->name);
00202                  vrmlp->module->PostToKernel(ev3);
00203             } else {
00204               wxCommandEvent ev2 = Event::GET_EVT_SCENE_GEOMETRY_ADD(vrmlp->sceneID, gparam);
00205               vrmlp->module->PostToKernel(ev2);
00206               wxCommandEvent ev3 = Event::GET_EVT_SCENE_NODE_GEOMETRY_SET(vrmlp->sceneID, nodeName, gname);
00207                  vrmlp->module->PostToKernel(ev3);
00208             }
00209                  //if it was defined, add to hashmap and don't delete it
00210             if ( nodeName != wxT("")) {
00211                    vrmlp->defNamesListSN.insert(DefNamesListSN::value_type(nodeName, defName ));
00212               remove = false;
00213             }
00214           }


Member Data Documentation

pointer to Material Node in the VRUT scene

Definition at line 143 of file vrmlparser.h.

name of the material which should be connected to Geometry Node

Definition at line 145 of file vrmlparser.h.

name defined in VRML file to define the materail node

Definition at line 147 of file vrmlparser.h.

pointer to Geometry Node in the VRUT scene

Definition at line 149 of file vrmlparser.h.

name of the geometry in VRUT scene

Definition at line 151 of file vrmlparser.h.

name of the geometry defined in VRML file

Definition at line 153 of file vrmlparser.h.


The documentation for this struct was generated from the following file:

Generated on Tue Mar 10 14:41:47 2009 for VRUT by  doxygen 1.5.5