Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.

Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
This commit is contained in:
Robert Osfield
2006-11-27 14:52:07 +00:00
parent b82e521444
commit fd2ffeb310
110 changed files with 2257 additions and 1466 deletions

View File

@@ -1,4 +1,4 @@
#include <osg/CameraNode>
#include <osg/Camera>
#include <osg/io_utils>
#include <osg/Notify>
@@ -12,29 +12,40 @@ using namespace osg;
using namespace osgDB;
// forward declare functions to use later.
bool CameraNode_readLocalData(Object& obj, Input& fr);
bool CameraNode_writeLocalData(const Object& obj, Output& fw);
bool Camera_readLocalData(Object& obj, Input& fr);
bool Camera_writeLocalData(const Object& obj, Output& fw);
bool CameraNode_matchBufferComponentStr(const char* str,CameraNode::BufferComponent& buffer);
const char* CameraNode_getBufferComponentStr(CameraNode::BufferComponent buffer);
bool Camera_matchBufferComponentStr(const char* str,Camera::BufferComponent& buffer);
const char* Camera_getBufferComponentStr(Camera::BufferComponent buffer);
// register the read and write functions with the osgDB::Registry.
RegisterDotOsgWrapperProxy g_CameraProxy
(
new osg::Camera,
"Camera",
"Object Node Transform Camera Group",
&Camera_readLocalData,
&Camera_writeLocalData,
DotOsgWrapper::READ_AND_WRITE
);
// register the read and write functions with the osgDB::Registry.
RegisterDotOsgWrapperProxy g_CameraNodeProxy
(
new osg::CameraNode,
new osg::Camera,
"CameraNode",
"Object Node Transform CameraNode Group",
&CameraNode_readLocalData,
&CameraNode_writeLocalData,
&Camera_readLocalData,
&Camera_writeLocalData,
DotOsgWrapper::READ_AND_WRITE
);
bool CameraNode_readLocalData(Object& obj, Input& fr)
bool Camera_readLocalData(Object& obj, Input& fr)
{
bool iteratorAdvanced = false;
CameraNode& camera = static_cast<CameraNode&>(obj);
Camera& camera = static_cast<Camera&>(obj);
if (fr.matchSequence("clearColor %f %f %f %f"))
{
@@ -71,11 +82,11 @@ bool CameraNode_readLocalData(Object& obj, Input& fr)
if (fr.matchSequence("transformOrder %w"))
{
if (fr[1].matchWord("PRE_MULTIPLY")) camera.setTransformOrder(osg::CameraNode::PRE_MULTIPLY);
else if (fr[1].matchWord("POST_MULTIPLY")) camera.setTransformOrder(osg::CameraNode::POST_MULTIPLY);
if (fr[1].matchWord("PRE_MULTIPLY")) camera.setTransformOrder(osg::Camera::PRE_MULTIPLY);
else if (fr[1].matchWord("POST_MULTIPLY")) camera.setTransformOrder(osg::Camera::POST_MULTIPLY);
// the following are for backwards compatibility.
else if (fr[1].matchWord("PRE_MULTIPLE")) camera.setTransformOrder(osg::CameraNode::PRE_MULTIPLY);
else if (fr[1].matchWord("POST_MULTIPLE")) camera.setTransformOrder(osg::CameraNode::POST_MULTIPLY);
else if (fr[1].matchWord("PRE_MULTIPLE")) camera.setTransformOrder(osg::Camera::PRE_MULTIPLY);
else if (fr[1].matchWord("POST_MULTIPLE")) camera.setTransformOrder(osg::Camera::POST_MULTIPLY);
fr += 2;
iteratorAdvanced = true;
@@ -96,9 +107,9 @@ bool CameraNode_readLocalData(Object& obj, Input& fr)
if (fr.matchSequence("renderOrder %w"))
{
if (fr[1].matchWord("PRE_RENDER")) camera.setRenderOrder(osg::CameraNode::PRE_RENDER);
else if (fr[1].matchWord("NESTED_RENDER")) camera.setRenderOrder(osg::CameraNode::NESTED_RENDER);
else if (fr[1].matchWord("POST_RENDER")) camera.setRenderOrder(osg::CameraNode::POST_RENDER);
if (fr[1].matchWord("PRE_RENDER")) camera.setRenderOrder(osg::Camera::PRE_RENDER);
else if (fr[1].matchWord("NESTED_RENDER")) camera.setRenderOrder(osg::Camera::NESTED_RENDER);
else if (fr[1].matchWord("POST_RENDER")) camera.setRenderOrder(osg::Camera::POST_RENDER);
fr += 2;
iteratorAdvanced = true;
@@ -106,13 +117,13 @@ bool CameraNode_readLocalData(Object& obj, Input& fr)
if (fr.matchSequence("renderTargetImplementation %w"))
{
osg::CameraNode::RenderTargetImplementation implementation = osg::CameraNode::FRAME_BUFFER;
osg::Camera::RenderTargetImplementation implementation = osg::Camera::FRAME_BUFFER;
if (fr[1].matchWord("FRAME_BUFFER_OBJECT")) implementation = osg::CameraNode::FRAME_BUFFER_OBJECT;
else if (fr[1].matchWord("PIXEL_BUFFER_RTT")) implementation = osg::CameraNode::PIXEL_BUFFER_RTT;
else if (fr[1].matchWord("PIXEL_BUFFER")) implementation = osg::CameraNode::PIXEL_BUFFER;
else if (fr[1].matchWord("FRAME_BUFFER")) implementation = osg::CameraNode::FRAME_BUFFER;
else if (fr[1].matchWord("SEPERATE_WINDOW")) implementation = osg::CameraNode::SEPERATE_WINDOW;
if (fr[1].matchWord("FRAME_BUFFER_OBJECT")) implementation = osg::Camera::FRAME_BUFFER_OBJECT;
else if (fr[1].matchWord("PIXEL_BUFFER_RTT")) implementation = osg::Camera::PIXEL_BUFFER_RTT;
else if (fr[1].matchWord("PIXEL_BUFFER")) implementation = osg::Camera::PIXEL_BUFFER;
else if (fr[1].matchWord("FRAME_BUFFER")) implementation = osg::Camera::FRAME_BUFFER;
else if (fr[1].matchWord("SEPERATE_WINDOW")) implementation = osg::Camera::SEPERATE_WINDOW;
camera.setRenderTargetImplementation(implementation);
@@ -122,13 +133,13 @@ bool CameraNode_readLocalData(Object& obj, Input& fr)
if (fr.matchSequence("renderTargetImplementation %w"))
{
osg::CameraNode::RenderTargetImplementation fallback = camera.getRenderTargetFallback();
osg::Camera::RenderTargetImplementation fallback = camera.getRenderTargetFallback();
if (fr[1].matchWord("FRAME_BUFFER_OBJECT")) fallback = osg::CameraNode::FRAME_BUFFER_OBJECT;
else if (fr[1].matchWord("PIXEL_BUFFER_RTT")) fallback = osg::CameraNode::PIXEL_BUFFER_RTT;
else if (fr[1].matchWord("PIXEL_BUFFER")) fallback = osg::CameraNode::PIXEL_BUFFER;
else if (fr[1].matchWord("FRAME_BUFFER")) fallback = osg::CameraNode::FRAME_BUFFER;
else if (fr[1].matchWord("SEPERATE_WINDOW")) fallback = osg::CameraNode::SEPERATE_WINDOW;
if (fr[1].matchWord("FRAME_BUFFER_OBJECT")) fallback = osg::Camera::FRAME_BUFFER_OBJECT;
else if (fr[1].matchWord("PIXEL_BUFFER_RTT")) fallback = osg::Camera::PIXEL_BUFFER_RTT;
else if (fr[1].matchWord("PIXEL_BUFFER")) fallback = osg::Camera::PIXEL_BUFFER;
else if (fr[1].matchWord("FRAME_BUFFER")) fallback = osg::Camera::FRAME_BUFFER;
else if (fr[1].matchWord("SEPERATE_WINDOW")) fallback = osg::Camera::SEPERATE_WINDOW;
camera.setRenderTargetImplementation(camera.getRenderTargetImplementation(), fallback);
@@ -141,12 +152,12 @@ bool CameraNode_readLocalData(Object& obj, Input& fr)
{
int entry = fr[1].getNoNestedBrackets();
CameraNode::BufferComponent buffer;
CameraNode_matchBufferComponentStr(fr[1].getStr(),buffer);
Camera::BufferComponent buffer;
Camera_matchBufferComponentStr(fr[1].getStr(),buffer);
fr += 3;
CameraNode::Attachment& attachment = camera.getBufferAttachmentMap()[buffer];
Camera::Attachment& attachment = camera.getBufferAttachmentMap()[buffer];
// read attachment data.
while (!fr.eof() && fr[0].getNoNestedBrackets()>entry)
@@ -218,9 +229,9 @@ bool CameraNode_readLocalData(Object& obj, Input& fr)
}
bool CameraNode_writeLocalData(const Object& obj, Output& fw)
bool Camera_writeLocalData(const Object& obj, Output& fw)
{
const CameraNode& camera = static_cast<const CameraNode&>(obj);
const Camera& camera = static_cast<const Camera&>(obj);
fw.indent()<<"clearColor "<<camera.getClearColor()<<std::endl;
fw.indent()<<"clearMask 0x"<<std::hex<<camera.getClearMask()<<std::endl;
@@ -238,8 +249,8 @@ bool CameraNode_writeLocalData(const Object& obj, Output& fw)
fw.indent()<<"transformOrder ";
switch(camera.getTransformOrder())
{
case(osg::CameraNode::PRE_MULTIPLY): fw <<"PRE_MULTIPLY"<<std::endl; break;
case(osg::CameraNode::POST_MULTIPLY): fw <<"POST_MULTIPLY"<<std::endl; break;
case(osg::Camera::PRE_MULTIPLY): fw <<"PRE_MULTIPLY"<<std::endl; break;
case(osg::Camera::POST_MULTIPLY): fw <<"POST_MULTIPLY"<<std::endl; break;
}
writeMatrix(camera.getProjectionMatrix(),fw,"ProjectionMatrix");
@@ -248,43 +259,43 @@ bool CameraNode_writeLocalData(const Object& obj, Output& fw)
fw.indent()<<"renderOrder ";
switch(camera.getRenderOrder())
{
case(osg::CameraNode::PRE_RENDER): fw <<"PRE_RENDER"<<std::endl; break;
case(osg::CameraNode::NESTED_RENDER): fw <<"NESTED_RENDER"<<std::endl; break;
case(osg::CameraNode::POST_RENDER): fw <<"POST_RENDER"<<std::endl; break;
case(osg::Camera::PRE_RENDER): fw <<"PRE_RENDER"<<std::endl; break;
case(osg::Camera::NESTED_RENDER): fw <<"NESTED_RENDER"<<std::endl; break;
case(osg::Camera::POST_RENDER): fw <<"POST_RENDER"<<std::endl; break;
}
fw.indent()<<"renderTargetImplementation ";
switch(camera.getRenderTargetImplementation())
{
case(osg::CameraNode::FRAME_BUFFER_OBJECT): fw <<"FRAME_BUFFER_OBJECT"<<std::endl; break;
case(osg::CameraNode::PIXEL_BUFFER_RTT): fw <<"PIXEL_BUFFER_RTT"<<std::endl; break;
case(osg::CameraNode::PIXEL_BUFFER): fw <<"PIXEL_BUFFER"<<std::endl; break;
case(osg::CameraNode::FRAME_BUFFER): fw <<"FRAME_BUFFER"<<std::endl; break;
case(osg::CameraNode::SEPERATE_WINDOW): fw <<"SEPERATE_WINDOW"<<std::endl; break;
case(osg::Camera::FRAME_BUFFER_OBJECT): fw <<"FRAME_BUFFER_OBJECT"<<std::endl; break;
case(osg::Camera::PIXEL_BUFFER_RTT): fw <<"PIXEL_BUFFER_RTT"<<std::endl; break;
case(osg::Camera::PIXEL_BUFFER): fw <<"PIXEL_BUFFER"<<std::endl; break;
case(osg::Camera::FRAME_BUFFER): fw <<"FRAME_BUFFER"<<std::endl; break;
case(osg::Camera::SEPERATE_WINDOW): fw <<"SEPERATE_WINDOW"<<std::endl; break;
}
fw.indent()<<"renderTargetFallback ";
switch(camera.getRenderTargetFallback())
{
case(osg::CameraNode::FRAME_BUFFER_OBJECT): fw <<"FRAME_BUFFER_OBJECT"<<std::endl; break;
case(osg::CameraNode::PIXEL_BUFFER_RTT): fw <<"PIXEL_BUFFER_RTT"<<std::endl; break;
case(osg::CameraNode::PIXEL_BUFFER): fw <<"PIXEL_BUFFER"<<std::endl; break;
case(osg::CameraNode::FRAME_BUFFER): fw <<"FRAME_BUFFER"<<std::endl; break;
case(osg::CameraNode::SEPERATE_WINDOW): fw <<"SEPERATE_WINDOW"<<std::endl; break;
case(osg::Camera::FRAME_BUFFER_OBJECT): fw <<"FRAME_BUFFER_OBJECT"<<std::endl; break;
case(osg::Camera::PIXEL_BUFFER_RTT): fw <<"PIXEL_BUFFER_RTT"<<std::endl; break;
case(osg::Camera::PIXEL_BUFFER): fw <<"PIXEL_BUFFER"<<std::endl; break;
case(osg::Camera::FRAME_BUFFER): fw <<"FRAME_BUFFER"<<std::endl; break;
case(osg::Camera::SEPERATE_WINDOW): fw <<"SEPERATE_WINDOW"<<std::endl; break;
}
fw.indent()<<"drawBuffer "<<std::hex<<camera.getDrawBuffer()<<std::endl;
fw.indent()<<"readBuffer "<<std::hex<<camera.getReadBuffer()<<std::endl;
const osg::CameraNode::BufferAttachmentMap& bam = camera.getBufferAttachmentMap();
const osg::Camera::BufferAttachmentMap& bam = camera.getBufferAttachmentMap();
if (!bam.empty())
{
for(osg::CameraNode::BufferAttachmentMap::const_iterator itr=bam.begin();
for(osg::Camera::BufferAttachmentMap::const_iterator itr=bam.begin();
itr!=bam.end();
++itr)
{
const osg::CameraNode::Attachment& attachment = itr->second;
fw.indent()<<"bufferComponent "<<CameraNode_getBufferComponentStr(itr->first)<<" {"<<std::endl;
const osg::Camera::Attachment& attachment = itr->second;
fw.indent()<<"bufferComponent "<<Camera_getBufferComponentStr(itr->first)<<" {"<<std::endl;
fw.moveIn();
fw.indent()<<"internalFormat "<<attachment._internalFormat<<std::endl;
@@ -304,73 +315,37 @@ bool CameraNode_writeLocalData(const Object& obj, Output& fw)
return true;
}
bool CameraNode_matchBufferComponentStr(const char* str,CameraNode::BufferComponent& buffer)
bool Camera_matchBufferComponentStr(const char* str,Camera::BufferComponent& buffer)
{
if (strcmp(str,"DEPTH_BUFFER")==0) buffer = osg::CameraNode::DEPTH_BUFFER;
else if (strcmp(str,"STENCIL_BUFFER")==0) buffer = osg::CameraNode::STENCIL_BUFFER;
else if (strcmp(str,"COLOR_BUFFER")==0) buffer = osg::CameraNode::COLOR_BUFFER;
else if (strcmp(str,"COLOR_BUFFER0")==0) buffer = osg::CameraNode::COLOR_BUFFER0;
else if (strcmp(str,"COLOR_BUFFER1")==0) buffer = osg::CameraNode::COLOR_BUFFER1;
else if (strcmp(str,"COLOR_BUFFER2")==0) buffer = osg::CameraNode::COLOR_BUFFER2;
else if (strcmp(str,"COLOR_BUFFER3")==0) buffer = osg::CameraNode::COLOR_BUFFER3;
else if (strcmp(str,"COLOR_BUFFER4")==0) buffer = osg::CameraNode::COLOR_BUFFER4;
else if (strcmp(str,"COLOR_BUFFER5")==0) buffer = osg::CameraNode::COLOR_BUFFER5;
else if (strcmp(str,"COLOR_BUFFER6")==0) buffer = osg::CameraNode::COLOR_BUFFER6;
else if (strcmp(str,"COLOR_BUFFER7")==0) buffer = osg::CameraNode::COLOR_BUFFER7;
if (strcmp(str,"DEPTH_BUFFER")==0) buffer = osg::Camera::DEPTH_BUFFER;
else if (strcmp(str,"STENCIL_BUFFER")==0) buffer = osg::Camera::STENCIL_BUFFER;
else if (strcmp(str,"COLOR_BUFFER")==0) buffer = osg::Camera::COLOR_BUFFER;
else if (strcmp(str,"COLOR_BUFFER0")==0) buffer = osg::Camera::COLOR_BUFFER0;
else if (strcmp(str,"COLOR_BUFFER1")==0) buffer = osg::Camera::COLOR_BUFFER1;
else if (strcmp(str,"COLOR_BUFFER2")==0) buffer = osg::Camera::COLOR_BUFFER2;
else if (strcmp(str,"COLOR_BUFFER3")==0) buffer = osg::Camera::COLOR_BUFFER3;
else if (strcmp(str,"COLOR_BUFFER4")==0) buffer = osg::Camera::COLOR_BUFFER4;
else if (strcmp(str,"COLOR_BUFFER5")==0) buffer = osg::Camera::COLOR_BUFFER5;
else if (strcmp(str,"COLOR_BUFFER6")==0) buffer = osg::Camera::COLOR_BUFFER6;
else if (strcmp(str,"COLOR_BUFFER7")==0) buffer = osg::Camera::COLOR_BUFFER7;
else return false;
return true;
}
const char* CameraNode_getBufferComponentStr(CameraNode::BufferComponent buffer)
const char* Camera_getBufferComponentStr(Camera::BufferComponent buffer)
{
switch(buffer)
{
case (osg::CameraNode::DEPTH_BUFFER) : return "DEPTH_BUFFER";
case (osg::CameraNode::STENCIL_BUFFER) : return "STENCIL_BUFFER";
case (osg::CameraNode::COLOR_BUFFER) : return "COLOR_BUFFER";
case (osg::CameraNode::COLOR_BUFFER1) : return "COLOR_BUFFER1";
case (osg::CameraNode::COLOR_BUFFER2) : return "COLOR_BUFFER2";
case (osg::CameraNode::COLOR_BUFFER3) : return "COLOR_BUFFER3";
case (osg::CameraNode::COLOR_BUFFER4) : return "COLOR_BUFFER4";
case (osg::CameraNode::COLOR_BUFFER5) : return "COLOR_BUFFER5";
case (osg::CameraNode::COLOR_BUFFER6) : return "COLOR_BUFFER6";
case (osg::CameraNode::COLOR_BUFFER7) : return "COLOR_BUFFER7";
case (osg::Camera::DEPTH_BUFFER) : return "DEPTH_BUFFER";
case (osg::Camera::STENCIL_BUFFER) : return "STENCIL_BUFFER";
case (osg::Camera::COLOR_BUFFER) : return "COLOR_BUFFER";
case (osg::Camera::COLOR_BUFFER1) : return "COLOR_BUFFER1";
case (osg::Camera::COLOR_BUFFER2) : return "COLOR_BUFFER2";
case (osg::Camera::COLOR_BUFFER3) : return "COLOR_BUFFER3";
case (osg::Camera::COLOR_BUFFER4) : return "COLOR_BUFFER4";
case (osg::Camera::COLOR_BUFFER5) : return "COLOR_BUFFER5";
case (osg::Camera::COLOR_BUFFER6) : return "COLOR_BUFFER6";
case (osg::Camera::COLOR_BUFFER7) : return "COLOR_BUFFER7";
default : return "UnknownBufferComponent";
}
}
/*
bool CameraNode_matchBufferComponentStr(const char* str,CameraNode::BufferComponent buffer)
{
if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else if (strcmp(str,"")==0) mode = osg::CameraNode::;
else return false;
return true;
}
const char* CameraNode_getBufferComponentStr(CameraNode::BufferComponent buffer)
{
switch(mode)
{
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
case (osg::CameraNode::) : return "";
default : return "UnknownBufferComponent";
}
}
*/

View File

@@ -7,7 +7,7 @@ CXXFILES =\
AutoTransform.cpp\
Billboard.cpp\
BlendFunc.cpp\
CameraNode.cpp\
Camera.cpp\
CameraView.cpp\
ClearNode.cpp\
ClipNode.cpp\