Added suport for osgSim::MultiSwitch to .ive plugin

This commit is contained in:
Robert Osfield
2003-11-25 16:28:32 +00:00
parent 953bbd85e8
commit d20f93d78a
5 changed files with 22 additions and 1 deletions

View File

@@ -258,6 +258,10 @@ SOURCE=..\..\..\src\osgPlugins\ive\Switch.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\src\osgPlugins\ive\MultiSwitch.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\src\osgPlugins\ive\TexEnv.cpp
# End Source File
# Begin Source File
@@ -486,6 +490,10 @@ SOURCE=..\..\..\src\osgPlugins\ive\Switch.h
# End Source File
# Begin Source File
SOURCE=..\..\..\src\osgPlugins\ive\MultiSwitch.h
# End Source File
# Begin Source File
SOURCE=..\..\..\src\osgPlugins\ive\StateSet.h
# End Source File
# Begin Source File

View File

@@ -41,7 +41,9 @@
#include "Switch.h"
#include "OccluderNode.h"
#include "Impostor.h"
#include "LightPointNode.h"
#include "MultiSwitch.h"
#include "Geometry.h"
@@ -668,6 +670,10 @@ osg::Node* DataInputStream::readNode()
node = new osg::Switch();
((ive::Switch*)(node))->read(this);
}
else if(nodeTypeID== IVEMULTISWITCH){
node = new osgSim::MultiSwitch();
((ive::MultiSwitch*)(node))->read(this);
}
else if(nodeTypeID== IVEIMPOSTOR){
node = new osg::Impostor();
((ive::Impostor*)(node))->read(this);

View File

@@ -43,7 +43,9 @@
#include "Switch.h"
#include "OccluderNode.h"
#include "Impostor.h"
#include "LightPointNode.h"
#include "MultiSwitch.h"
#include "Geometry.h"
@@ -533,6 +535,9 @@ void DataOutputStream::writeNode(const osg::Node* node)
else if(dynamic_cast<const osg::Switch*>(node)){
((ive::Switch*)(node))->write(this);
}
else if(dynamic_cast<const osgSim::MultiSwitch*>(node)){
((ive::MultiSwitch*)(node))->write(this);
}
else if(dynamic_cast<const osg::OccluderNode*>(node)){
((ive::OccluderNode*)(node))->write(this);
}

View File

@@ -30,6 +30,7 @@ CXXFILES =\
LightSource.cpp\
Material.cpp\
MatrixTransform.cpp\
MultiSwitch.cpp\
Node.cpp\
Object.cpp\
OccluderNode.cpp\

View File

@@ -68,12 +68,13 @@ namespace ive {
// osgSim classes
#define IVEBLINKSEQUENCE 0x00100001
#define IVEAZIMELEVATIONSECTOR 0x00100002
#define IVEAZIMELEVATIONSECTOR 0x00100002
#define IVEELEVATIONSECTOR 0x00100003
#define IVEAZIMSECTOR 0x00100004
#define IVECONESECTOR 0x00100005
#define IVELIGHTPOINT 0x00100006
#define IVELIGHTPOINTNODE 0x00100007
#define IVEMULTISWITCH 0x00100008
class ReadWrite{