From Jannik Heller, typo fixes
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14832 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
parent
166c49eedd
commit
0a1db3d6fc
@ -14,8 +14,8 @@
|
||||
#In OSG ffmpeg plugin, we used "#include <header.h>" for compatibility with old version of ffmpeg
|
||||
#With the new version of FFmpeg, a file named "time.h" was added that breaks compatability with the old version of ffmpeg.
|
||||
|
||||
#We have to search the path which contain the header.h (usefull for old version)
|
||||
#and search the path which contain the libname/header.h (usefull for new version)
|
||||
#We have to search the path which contain the header.h (useful for old version)
|
||||
#and search the path which contain the libname/header.h (useful for new version)
|
||||
|
||||
#Then we need to include ${FFMPEG_libname_INCLUDE_DIRS} (in old version case, use by ffmpeg header and osg plugin code)
|
||||
# (in new version case, use by ffmpeg header)
|
||||
|
@ -4,7 +4,7 @@
|
||||
# full path of the library name. in order to differentiate release and debug, this macro get the
|
||||
# NAME of the variables, so the macro gets as arguments the target name and the following list of parameters
|
||||
# is intended as a list of variable names each one containing the path of the libraries to link to
|
||||
# The existance of a variable name with _DEBUG appended is tested and, in case it' s value is used
|
||||
# The existence of a variable name with _DEBUG appended is tested and, in case it' s value is used
|
||||
# for linking to when in debug mode
|
||||
# the content of this library for linking when in debugging
|
||||
#######################################################################################################
|
||||
|
@ -174,7 +174,7 @@ public:
|
||||
{
|
||||
texture->setInternalFormatMode(_internalFormatMode);
|
||||
|
||||
// need to disable the unref after apply, other the image could go out of scope.
|
||||
// need to disable the unref after apply, otherwise the image could go out of scope.
|
||||
bool unrefImageDataAfterApply = texture->getUnRefImageDataAfterApply();
|
||||
texture->setUnRefImageDataAfterApply(false);
|
||||
|
||||
@ -807,7 +807,7 @@ int main( int argc, char **argv )
|
||||
root->accept(av);
|
||||
}
|
||||
|
||||
// optimize the scene graph, remove rendundent nodes and state etc.
|
||||
// optimize the scene graph, remove redundant nodes and state etc.
|
||||
osgUtil::Optimizer optimizer;
|
||||
optimizer.optimize(root.get());
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// The majority of the application is dedicated to building the
|
||||
// current contribitors list by parsing the ChangeLog, it just takes
|
||||
// current contributors list by parsing the ChangeLog, it just takes
|
||||
// one line in the main itself to report the version number.
|
||||
|
||||
#include <set>
|
||||
|
@ -250,7 +250,7 @@ void CameraPacket::writeEventQueue(osgViewer::Viewer& viewer)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Reciever
|
||||
// Receiver
|
||||
//
|
||||
Receiver::Receiver( void )
|
||||
{
|
||||
|
@ -248,7 +248,7 @@ void processLoadedModel(osg::ref_ptr<osg::Node>& loadedModel, int optimizer_opti
|
||||
loadedModel->getOrCreateStateSet()->setMode(GL_ALPHA_TEST, osg::StateAttribute::ON);
|
||||
#endif
|
||||
|
||||
// optimize the scene graph, remove rendundent nodes and state etc.
|
||||
// optimize the scene graph, remove redundant nodes and state etc.
|
||||
osgUtil::Optimizer optimizer;
|
||||
optimizer.optimize(loadedModel.get(), optimizer_options);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
// Search in str for all occurences of spat and replace them with rpat.
|
||||
// Search in str for all occurrences of spat and replace them with rpat.
|
||||
void searchAndReplace(std::string& str, const std::string& spat, const std::string& rpat)
|
||||
{
|
||||
std::string::size_type pos = 0;
|
||||
|
@ -71,7 +71,7 @@ int main (int argc, char* argv[])
|
||||
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
|
||||
geode->addDrawable(new osg::ShapeDrawable(new osg::Box(osg::Vec3(0.0f,0.0f,0.0f),0.5)));
|
||||
|
||||
//Tranformation to be manipulated by the animation
|
||||
//Transformation to be manipulated by the animation
|
||||
osg::ref_ptr<osg::MatrixTransform> trans = new osg::MatrixTransform();
|
||||
trans->setName("AnimatedNode");
|
||||
//Dynamic object, has to be updated during update traversal
|
||||
@ -84,7 +84,7 @@ int main (int argc, char* argv[])
|
||||
//The second element modifies the rotation around x-axis
|
||||
updatecb->getStackedTransforms().push_back(new osgAnimation::StackedTranslateElement("position"));
|
||||
updatecb->getStackedTransforms().push_back(new osgAnimation::StackedRotateAxisElement("euler",osg::Vec3(1,0,0),0));
|
||||
//connect the UpdateMatrixTransform callback to the MatrixTRanform
|
||||
//connect the UpdateMatrixTransform callback to the MatrixTransform
|
||||
trans->setUpdateCallback(updatecb);
|
||||
//initialize MatrixTranform
|
||||
trans->setMatrix(osg::Matrix::identity());
|
||||
@ -102,7 +102,7 @@ int main (int argc, char* argv[])
|
||||
//add the rest of the scene to the grp node
|
||||
grp->addChild(root);
|
||||
|
||||
// And we finaly define our channel for linear Vector interpolation
|
||||
// And we finally define our channel for linear Vector interpolation
|
||||
osgAnimation::Vec3LinearChannel* channelAnimation1 = new osgAnimation::Vec3LinearChannel;
|
||||
//name of the AnimationUpdateCallback
|
||||
channelAnimation1->setTargetName("AnimatedCallback");
|
||||
|
@ -98,9 +98,9 @@ struct ExampleTimelineUsage : public osgGA::GUIEventHandler
|
||||
{
|
||||
// we add a scratch head priority 1 each 10 second
|
||||
// note:
|
||||
// it's possible to add the same instance more then once on the timeline
|
||||
// it's possible to add the same instance more than once on the timeline
|
||||
// the only things you need to take care is if you remove it. It will remove
|
||||
// all instance that exist on the timeline. If you need to differtiate
|
||||
// all instance that exist on the timeline. If you need to differentiate
|
||||
// it's better to create a new instance
|
||||
tml->addActionAt(5.0 + 10.0 * i, _scratchHead.get(), 1);
|
||||
}
|
||||
|
@ -406,7 +406,7 @@ int main( int argc, char **argv )
|
||||
viewer.renderingTraversals();
|
||||
|
||||
osg::Timer_t afterRenderTick = osg::Timer::instance()->tick();
|
||||
std::cout<<"Rendring time = "<<osg::Timer::instance()->delta_s(beforeRenderTick, afterRenderTick) <<" seconds"<<std::endl;
|
||||
std::cout<<"Rendering time = "<<osg::Timer::instance()->delta_s(beforeRenderTick, afterRenderTick) <<" seconds"<<std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ osg::Node* createModel()
|
||||
// create the root node which will hold the model.
|
||||
osg::Group* root = new osg::Group();
|
||||
|
||||
// add the drawable into a single goede to be shared...
|
||||
// add the drawable into a single geode to be shared...
|
||||
osg::Billboard* center = new osg::Billboard();
|
||||
center->setMode(osg::Billboard::POINT_ROT_EYE);
|
||||
center->addDrawable(
|
||||
|
@ -304,7 +304,7 @@ int main( int argc, char **argv )
|
||||
osgViewer::View* view = dynamic_cast<osgViewer::View*>(object.get());
|
||||
if (view)
|
||||
{
|
||||
osg::notify(osg::NOTICE)<<"Read config file succesfully"<<std::endl;
|
||||
osg::notify(osg::NOTICE)<<"Read config file successfully"<<std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -59,7 +59,7 @@ osg::Node* decorate_with_clip_node(osg::Node* subgraph)
|
||||
rootnode->addChild(wireframe_subgraph);
|
||||
|
||||
/*
|
||||
// simple approach to adding a clipnode above a subrgaph.
|
||||
// simple approach to adding a clipnode above a subgraph.
|
||||
|
||||
// create clipped part.
|
||||
osg::ClipNode* clipped_subgraph = new osg::ClipNode;
|
||||
@ -78,7 +78,7 @@ osg::Node* decorate_with_clip_node(osg::Node* subgraph)
|
||||
|
||||
|
||||
// more complex approach to managing ClipNode, allowing
|
||||
// ClipNode node to be transformed independantly from the subgraph
|
||||
// ClipNode node to be transformed independently from the subgraph
|
||||
// that it is clipping.
|
||||
|
||||
osg::MatrixTransform* transform= new osg::MatrixTransform;
|
||||
|
@ -211,7 +211,7 @@ int main( int argc, char **argv )
|
||||
|
||||
// ------------- Start of copy specific code -------------------------------------------------------
|
||||
|
||||
// do a deep copy, using MyCopyOp to reveal whats going on under the good,
|
||||
// do a deep copy, using MyCopyOp to reveal whats going on under the hood,
|
||||
// in your own code you'd typically just use the basic osg::CopyOp something like
|
||||
osg::ref_ptr<osg::Node> mycopy = dynamic_cast<osg::Node*>(rootnode->clone(osg::CopyOp::DEEP_COPY_ALL));
|
||||
std::cout << "Doing a deep copy of scene graph"<<std::endl;
|
||||
|
@ -123,7 +123,7 @@ public:
|
||||
OSG_NOTICE<<" WindowWidth="<<ea.getWindowWidth()<<std::endl;
|
||||
OSG_NOTICE<<" WindowHeight="<<ea.getWindowHeight()<<std::endl;
|
||||
|
||||
// reset the Camera viewpoer and associated Texture's to make sure it tracks the new window size.
|
||||
// reset the Camera viewport and associated Texture's to make sure it tracks the new window size.
|
||||
camera->resize(ea.getWindowWidth(), ea.getWindowHeight());
|
||||
}
|
||||
return false;
|
||||
|
@ -44,7 +44,7 @@
|
||||
// wraps OpenGL very thinly and therefore uses all the same enum and naming conventions. The coordinate data is also
|
||||
// wrapped around OpenGL's vertex arrays and draw arrays/elements calls. Familiarity with
|
||||
// OpenGL will help you understand the osg::Geometry class which encapsulate all this, or if you
|
||||
// havn't learned OpenGL yet, learning osg::Geometry will help you understand how OpenGL
|
||||
// haven't learned OpenGL yet, learning osg::Geometry will help you understand how OpenGL
|
||||
// works!
|
||||
|
||||
// The osg::Geometry class "is a" subclass of osg::Drawable base class, so is an object that provides
|
||||
|
@ -56,7 +56,7 @@ void createFountainEffect( osgParticle::ModularEmitter* emitter, osgParticle::Mo
|
||||
// Bounce particles off objects defined by one or more domains.
|
||||
// Supported domains include triangle, rectangle, plane, disk and sphere.
|
||||
// Since a bounce always happens instantaneously, it will not work correctly with unstable delta-time.
|
||||
// At present, even the floating error of dt (which are applied to ParticleSystem and Operator seperately)
|
||||
// At present, even the floating error of dt (which are applied to ParticleSystem and Operator separately)
|
||||
// causes wrong bounce results. Some one else may have better solutions for this.
|
||||
osg::ref_ptr<osgParticle::BounceOperator> bounce = new osgParticle::BounceOperator;
|
||||
bounce->setFriction( -0.05 );
|
||||
@ -191,7 +191,7 @@ int main( int argc, char** argv )
|
||||
|
||||
// A floating error of delta-time should be explained here:
|
||||
// The particles emitter, program and updater all use a 'dt' to compute the time value in every frame.
|
||||
// Because the 'dt' is a double value, it is not suitable to keep three copies of it seperately, which
|
||||
// Because the 'dt' is a double value, it is not suitable to keep three copies of it separately, which
|
||||
// is the previous implementation. The small error makes some opeartors unable to work correctly, e.g.
|
||||
// the BounceOperator.
|
||||
// Now we make use of the getDeltaTime() of ParticleSystem to maintain and dispatch the delta time. But..
|
||||
|
@ -41,7 +41,7 @@
|
||||
// A simple demo demonstrating planar reflections using multiple renderings
|
||||
// of a subgraph, overriding of state attribures and use of the stencil buffer.
|
||||
//
|
||||
// The multipass system implemented here is a variation if Mark Kilgard's
|
||||
// The multipass system implemented here is a variation of Mark Kilgard's
|
||||
// paper "Improving Shadows and Reflections via the Stencil Buffer" which
|
||||
// can be found on the developer parts of the NVidia web site.
|
||||
//
|
||||
@ -52,7 +52,7 @@
|
||||
// world poking through the mirror to be seen in the final rendering and
|
||||
// also obscures the world correctly when on the reverse side of the mirror.
|
||||
// Although there is still some unresolved issue with the clip plane needing
|
||||
// to be flipped when looking at the reverse side of the mirror. Niether
|
||||
// to be flipped when looking at the reverse side of the mirror. Neither
|
||||
// of these issues are mentioned in the Mark's paper, but trip us up when
|
||||
// we apply them.
|
||||
|
||||
@ -322,7 +322,7 @@ osg::Node* createMirroredScene(osg::Node* model)
|
||||
//
|
||||
// create the viewer
|
||||
// load a model
|
||||
// decoate the model so it renders using a multipass stencil buffer technique for planar reflections.
|
||||
// decorate the model so it renders using a multipass stencil buffer technique for planar reflections.
|
||||
// release the viewer
|
||||
// run main loop.
|
||||
//
|
||||
|
@ -173,7 +173,7 @@ int main( int argc, char **argv )
|
||||
}
|
||||
else
|
||||
{
|
||||
// use new #pragama(tic) shader composition.
|
||||
// use new #pragma(tic) shader composition.
|
||||
osg::ref_ptr<osg::Node> scenegraph = createNewShaderCompositionScene(arguments);
|
||||
if (!scenegraph) return 1;
|
||||
|
||||
|
@ -112,7 +112,7 @@ osg::StateSet* createState(osg::ArgumentParser& arguments)
|
||||
}
|
||||
else
|
||||
{
|
||||
OSG_NOTICE<<"Assigned all images to Texture2DArray seperately."<<std::endl;
|
||||
OSG_NOTICE<<"Assigned all images to Texture2DArray separately."<<std::endl;
|
||||
|
||||
texture->setImage(0, image_0.get());
|
||||
texture->setImage(1, image_1.get());
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include <iostream>
|
||||
|
||||
//
|
||||
// A simple demo demonstrating use osg::Texture3D to create a blended animation between four seperate images packed together into a 3d texture
|
||||
// A simple demo demonstrating use osg::Texture3D to create a blended animation between four separate images packed together into a 3d texture
|
||||
//
|
||||
|
||||
typedef std::vector< osg::ref_ptr<osg::Image> > ImageList;
|
||||
|
@ -96,7 +96,7 @@ int main( int argc, char **argv )
|
||||
}
|
||||
|
||||
|
||||
// optimize the scene graph, remove rendundent nodes and state etc.
|
||||
// optimize the scene graph, remove redundant nodes and state etc.
|
||||
osgUtil::Optimizer optimizer;
|
||||
optimizer.optimize(loadedModel.get());
|
||||
|
||||
|
@ -191,19 +191,19 @@ public:
|
||||
/**
|
||||
* Set the thread's schedule priority. This is a complex method.
|
||||
* Beware of thread priorities when using a many-to-many kernel
|
||||
* entity implemenation (such as IRIX pthreads). If one is not carefull
|
||||
* entity implemenation (such as IRIX pthreads). If one is not careful
|
||||
* to manage the thread priorities, a priority inversion deadlock can
|
||||
* easily occur (Although the OpenThreads::Mutex & OpenThreads::Barrier
|
||||
* constructs have been designed with this senario in mind). Unless
|
||||
* you have explicit need to set the schedule pirorites for a given
|
||||
* constructs have been designed with this scenario in mind). Unless
|
||||
* you have explicit need to set the schedule priorities for a given
|
||||
* task, it is best to leave them alone.
|
||||
*
|
||||
* @note some implementations (notably LinuxThreads and IRIX Sprocs)
|
||||
* only alow you to decrease thread priorities dynamically. Thus,
|
||||
* only allow you to decrease thread priorities dynamically. Thus,
|
||||
* a lower priority thread will not allow it's priority to be raised
|
||||
* on the fly.
|
||||
*
|
||||
* @note seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* will output scheduling information for each thread to stdout.
|
||||
*
|
||||
* @return 0 if normal, -1 if errno set, errno code otherwise.
|
||||
@ -213,7 +213,7 @@ public:
|
||||
/**
|
||||
* Get the thread's schedule priority (if able)
|
||||
*
|
||||
* @note seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* will output scheduling information for each thread to stdout.
|
||||
*
|
||||
* @return 0 if normal, -1 if errno set, errno code otherwise.
|
||||
@ -229,7 +229,7 @@ public:
|
||||
* the danger of deadlocking the machine when used as super-user.
|
||||
* In such cases, the command is a no-op.
|
||||
*
|
||||
* @note seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* will output scheduling information for each thread to stdout.
|
||||
*
|
||||
* @return 0 if normal, -1 if errno set, errno code otherwise.
|
||||
@ -239,7 +239,7 @@ public:
|
||||
/**
|
||||
* Get the thread's policy (if able)
|
||||
*
|
||||
* @note seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* @note setting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO
|
||||
* will output scheduling information for each thread to stdout.
|
||||
*
|
||||
* @return policy if normal, -1 if errno set, errno code otherwise.
|
||||
@ -287,14 +287,14 @@ public:
|
||||
int join();
|
||||
|
||||
/**
|
||||
* Disable thread cancelation altogether. Thread::cancel() has no effect.
|
||||
* Disable thread cancellation altogether. Thread::cancel() has no effect.
|
||||
*
|
||||
* @return 0 if normal, -1 if errno set, errno code otherwise.
|
||||
*/
|
||||
int setCancelModeDisable();
|
||||
|
||||
/**
|
||||
* Mark the thread to cancel aysncronously on Thread::cancel().
|
||||
* Mark the thread to cancel asynchronously on Thread::cancel().
|
||||
* (May not be available with process-level implementations).
|
||||
*
|
||||
* @return 0 if normal, -1 if errno set, errno code otherwise.
|
||||
@ -324,7 +324,7 @@ public:
|
||||
|
||||
/**
|
||||
* Thread's cancel cleanup routine, called upon cancel(), after the
|
||||
* cancelation has taken place, but before the thread exits completely.
|
||||
* cancellation has taken place, but before the thread exits completely.
|
||||
* This method should be used to repair parts of the thread's data
|
||||
* that may have been damaged by a pre-mature cancel. No-op by default.
|
||||
*/
|
||||
@ -346,7 +346,7 @@ public:
|
||||
* This is not strictly thread API but is used
|
||||
* so often with threads. It's basically UNIX usleep. Parameter is
|
||||
* number of microseconds we current thread to sleep. Returns 0 on
|
||||
* succes, non-zero on failure (UNIX errno or GetLastError() will give
|
||||
* success, non-zero on failure (UNIX errno or GetLastError() will give
|
||||
* detailed description.
|
||||
*/
|
||||
static int microSleep( unsigned int microsec);
|
||||
|
@ -21,7 +21,7 @@ namespace osg {
|
||||
|
||||
/** Billboard is a derived form of Geode that orients its osg::Drawable
|
||||
* children to face the eye point. Typical uses include trees and
|
||||
* particle explosions,
|
||||
* particle explosions.
|
||||
*/
|
||||
class OSG_EXPORT Billboard : public Geode
|
||||
{
|
||||
|
@ -180,7 +180,7 @@ void BoundingSphereImpl<VT>::expandRadiusBy(const vector_type& v)
|
||||
template<typename VT>
|
||||
void BoundingSphereImpl<VT>::expandBy(const BoundingSphereImpl& sh)
|
||||
{
|
||||
// ignore operation if incomming BoundingSphere is invalid.
|
||||
// ignore operation if incoming BoundingSphere is invalid.
|
||||
if (!sh.valid()) return;
|
||||
|
||||
// This sphere is not set so use the inbound sphere
|
||||
|
@ -45,7 +45,7 @@ class OSG_EXPORT BufferIndexBinding : public StateAttribute
|
||||
BufferIndexBinding(const BufferIndexBinding& rhs, const CopyOp& copyop=CopyOp::SHALLOW_COPY);
|
||||
public:
|
||||
// The member value is part of the key to this state attribute in
|
||||
// the State class. Using the index target, we can seperately
|
||||
// the State class. Using the index target, we can separately
|
||||
// track the bindings for many different index targets.
|
||||
virtual unsigned getMember() const { return static_cast<unsigned int>(_index); }
|
||||
|
||||
|
@ -23,7 +23,7 @@ namespace osg
|
||||
{
|
||||
|
||||
/** Template buffer class to be used with a struct as template parameter.
|
||||
* This class is usefull to send C++ structures on the GPU (e.g. for uniform blocks) but be carefull to the alignments rules on the GPU side !
|
||||
* This class is useful to send C++ structures on the GPU (e.g. for uniform blocks) but be careful to the alignments rules on the GPU side !
|
||||
*/
|
||||
template <typename T>
|
||||
class BufferTemplate : public BufferData
|
||||
|
@ -137,7 +137,7 @@ protected:
|
||||
|
||||
int imageIndex(double time);
|
||||
|
||||
// setImage without aquiring mutex.
|
||||
// setImage without acquiring mutex.
|
||||
void _setImage(unsigned int pos, osg::Image* image);
|
||||
|
||||
double _referenceTime;
|
||||
|
@ -101,7 +101,7 @@ class ScriptEngine : public osg::Object
|
||||
/** run a Script.*/
|
||||
bool run(osg::Script* script)
|
||||
{
|
||||
// assumpt empty input and output paramters lists
|
||||
// assumpt empty input and output parameters lists
|
||||
Parameters inputParameters, outputParameters;
|
||||
return run(script, "", inputParameters, outputParameters);
|
||||
}
|
||||
|
@ -136,7 +136,7 @@ class OSG_EXPORT Shader : public osg::Object
|
||||
|
||||
enum ShaderDefinesMode
|
||||
{
|
||||
USE_SHADER_PRAGAMA,
|
||||
USE_SHADER_PRAGMA,
|
||||
USE_MANUAL_SETTINGS
|
||||
};
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
namespace osg {
|
||||
|
||||
// forward decare visitors.
|
||||
// forward declare visitors.
|
||||
class ShapeVisitor;
|
||||
class ConstShapeVisitor;
|
||||
|
||||
|
@ -132,7 +132,7 @@ class OSG_EXPORT State : public Referenced
|
||||
|
||||
/** Set the current OpenGL context uniqueID.
|
||||
* The ContextID is used by classes like osg::StateAttribute's and osg::Drawable's to
|
||||
* help manage seperate OpenGL objects, such as display lists, vertex buffer objects
|
||||
* help manage separate OpenGL objects, such as display lists, vertex buffer objects
|
||||
* and texture object for each graphics context. The ContextID simply acts as an index
|
||||
* into arrays that these classes maintain for the purpose of storing GL object handles.
|
||||
*
|
||||
@ -1461,9 +1461,9 @@ class OSG_EXPORT State : public Referenced
|
||||
enum CheckForGLErrors
|
||||
{
|
||||
/** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked for, this
|
||||
is the fastest option since checking for errors does incurr a small overhead.*/
|
||||
is the fastest option since checking for errors does incur a small overhead.*/
|
||||
NEVER_CHECK_GL_ERRORS,
|
||||
/** ONCE_PER_FRAME means that OpenGl errors will be checked for once per
|
||||
/** ONCE_PER_FRAME means that OpenGL errors will be checked for once per
|
||||
frame, the overhead is still small, but at least OpenGL errors that are occurring
|
||||
will be caught, the reporting isn't fine grained enough for debugging purposes.*/
|
||||
ONCE_PER_FRAME,
|
||||
|
@ -312,10 +312,10 @@ class OSG_EXPORT StateSet : public Object
|
||||
typedef std::pair<std::string, StateAttribute::OverrideValue> DefinePair;
|
||||
typedef std::map<std::string, DefinePair> DefineList;
|
||||
|
||||
/** Added define pass on to shaders that use utilize that define, as secified by the GLSL #pragma import_defines(..) and #pragam requires(..). */
|
||||
/** Added define pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..). */
|
||||
void setDefine(const std::string& defineName, StateAttribute::OverrideValue value=StateAttribute::ON);
|
||||
|
||||
/** Added define with value to pass on to shaders that use utilize that define, as secified by the GLSL #pragma import_defines(..) and #pragam requires(..). */
|
||||
/** Added define with value to pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..). */
|
||||
void setDefine(const std::string& defineName, const std::string& defineValue, StateAttribute::OverrideValue value=StateAttribute::ON);
|
||||
|
||||
DefinePair* getDefinePair(const std::string& defineName) { DefineList::iterator itr = _defineList.find(defineName); return (itr!=_defineList.end()) ? &(itr->second) : 0; }
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
namespace osg {
|
||||
|
||||
// foward declare core OSG math classes
|
||||
// forward declare core OSG math classes
|
||||
class Vec2f;
|
||||
class Vec3f;
|
||||
class Vec4f;
|
||||
|
@ -112,7 +112,7 @@ namespace osgAnimation
|
||||
unsigned int getNumFrames() const { return _numberFrame;}
|
||||
double getDuration() const { return _numberFrame * 1.0 / _fps; }
|
||||
|
||||
// 0 means infini else it's the number of loop
|
||||
// 0 means infinite else it's the number of loop
|
||||
virtual void setLoop(unsigned int nb) { _loop = nb; }
|
||||
virtual unsigned int getLoop() const { return _loop;}
|
||||
|
||||
|
@ -144,7 +144,7 @@ namespace osgAnimation
|
||||
|
||||
if(!finder._root.valid())
|
||||
{
|
||||
osg::notify(osg::WARN) << "A RigGeometry did not find a parent skeleton for RigGeomtry ( " << geom->getName() << " )" << std::endl;
|
||||
osg::notify(osg::WARN) << "A RigGeometry did not find a parent skeleton for RigGeometry ( " << geom->getName() << " )" << std::endl;
|
||||
return;
|
||||
}
|
||||
geom->buildVertexInfluenceSet();
|
||||
|
@ -33,7 +33,7 @@ enum CaseSensitivity
|
||||
CASE_INSENSITIVE
|
||||
};
|
||||
|
||||
// forward decare
|
||||
// forward declare
|
||||
class Options;
|
||||
|
||||
class OSGDB_EXPORT FindFileCallback : public virtual osg::Referenced
|
||||
|
@ -264,7 +264,7 @@ class OSGMANIPULATOR_EXPORT Dragger : public osg::MatrixTransform
|
||||
|
||||
/**
|
||||
* Set/Get the traversal mask used by this dragger when looking for intersections during event handling.
|
||||
* This is usefull to "hide" some geometry during event handling.
|
||||
* This is useful to "hide" some geometry during event handling.
|
||||
*/
|
||||
virtual void setIntersectionMask(osg::Node::NodeMask intersectionMask) { _intersectionMask = intersectionMask; }
|
||||
osg::Node::NodeMask getIntersectionMask() const { return _intersectionMask; }
|
||||
|
@ -294,7 +294,7 @@ public:
|
||||
ActiveOperators();
|
||||
~ActiveOperators();
|
||||
|
||||
void collect(osg::Node* incommingNode, osg::NodeVisitor::TraversalMode tm = osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN);
|
||||
void collect(osg::Node* incomingNode, osg::NodeVisitor::TraversalMode tm = osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN);
|
||||
|
||||
void process(SlideEventHandler* seh);
|
||||
|
||||
@ -310,7 +310,7 @@ public:
|
||||
protected:
|
||||
|
||||
void processOutgoing(SlideEventHandler* seh);
|
||||
void processIncomming(SlideEventHandler* seh);
|
||||
void processIncoming(SlideEventHandler* seh);
|
||||
void processMaintained(SlideEventHandler* seh);
|
||||
|
||||
bool _pause;
|
||||
@ -319,7 +319,7 @@ protected:
|
||||
OperatorList _current;
|
||||
|
||||
OperatorList _outgoing;
|
||||
OperatorList _incomming;
|
||||
OperatorList _incoming;
|
||||
OperatorList _maintained;
|
||||
|
||||
};
|
||||
|
@ -29,7 +29,7 @@ class ShadowVolumeGeometry;
|
||||
/** OccluderGeometry provides a sepecialised geometry representation of objects in scene that occlude light and therefore cast shadows.
|
||||
* OccluderGeometry supports the computation of silhouette edges and shadow volume geometries, as well as use as geometry that one can rendering
|
||||
* into a shadow map or end caps for the ZP+ algorithm. OccluderGeometry may be of the same resolution as an underlying geometry that it
|
||||
* represents, or can be of lower resolution and combine manager seperate geometries together into a single shadow casting object.
|
||||
* represents, or can be of lower resolution and combine manager separate geometries together into a single shadow casting object.
|
||||
* OccluderGeometry may be attached as UserData to Nodes or to Drawables. */
|
||||
class OSGSHADOW_EXPORT OccluderGeometry : public osg::Drawable
|
||||
{
|
||||
|
@ -187,7 +187,7 @@ protected:
|
||||
osg::ref_ptr<osg::Texture2D> _fallbackShadowMapTexture;
|
||||
|
||||
typedef std::vector< osg::ref_ptr<osg::Uniform> > Uniforms;
|
||||
mutable OpenThreads::Mutex _accessUnfiromsAndProgramMutex;
|
||||
mutable OpenThreads::Mutex _accessUniformsAndProgramMutex;
|
||||
Uniforms _uniforms;
|
||||
osg::ref_ptr<osg::Program> _program;
|
||||
};
|
||||
|
@ -793,7 +793,7 @@ class OSGUTIL_EXPORT Optimizer
|
||||
|
||||
|
||||
/** Optimize texture usage in the scene graph by combining textures into texture atlas
|
||||
* Use of texture atlas cuts down on the number of seperate states in the scene, reducing
|
||||
* Use of texture atlas cuts down on the number of separate states in the scene, reducing
|
||||
* state changes and improving the chances of using larger batches of geometry.*/
|
||||
class OSGUTIL_EXPORT TextureAtlasVisitor : public BaseOptimizerVisitor
|
||||
{
|
||||
|
@ -280,7 +280,7 @@ class OSGWIDGET_EXPORT EventInterface
|
||||
|
||||
// Notify the EventInterface object that is has been focused or unfocused; since
|
||||
// this isn't always bound to a mouse event (i.e., if you want to be able to use
|
||||
// the TAB key to focus), we need seperate events here.
|
||||
// the TAB key to focus), we need separate events here.
|
||||
virtual bool focus (const WindowManager*) { return false; }
|
||||
virtual bool unfocus (const WindowManager*) { return false; }
|
||||
|
||||
|
@ -43,7 +43,7 @@ private:
|
||||
|
||||
volatile int cnt; // number of waiting threads
|
||||
|
||||
volatile int phase; // flag to seperate two barriers
|
||||
volatile int phase; // flag to separate two barriers
|
||||
|
||||
};
|
||||
|
||||
|
@ -32,7 +32,7 @@ namespace osg
|
||||
//#define ENFORCE_THREADSAFE
|
||||
//#define DEBUG_OBJECT_ALLOCATION_DESTRUCTION
|
||||
|
||||
// specialized smart pointer, used to get round auto_ptr<>'s lack of the destructor reseting itself to 0.
|
||||
// specialized smart pointer, used to get round auto_ptr<>'s lack of the destructor resetting itself to 0.
|
||||
template<typename T>
|
||||
struct ResetPointer
|
||||
{
|
||||
|
@ -215,13 +215,13 @@ void Shader::discardDeletedGlShaders(unsigned int contextID)
|
||||
|
||||
Shader::Shader(Type type) :
|
||||
_type(type),
|
||||
_shaderDefinesMode(USE_SHADER_PRAGAMA)
|
||||
_shaderDefinesMode(USE_SHADER_PRAGMA)
|
||||
{
|
||||
}
|
||||
|
||||
Shader::Shader(Type type, const std::string& source) :
|
||||
_type(type),
|
||||
_shaderDefinesMode(USE_SHADER_PRAGAMA)
|
||||
_shaderDefinesMode(USE_SHADER_PRAGMA)
|
||||
{
|
||||
setShaderSource( source);
|
||||
}
|
||||
@ -229,7 +229,7 @@ Shader::Shader(Type type, const std::string& source) :
|
||||
Shader::Shader(Type type, ShaderBinary* shaderBinary) :
|
||||
_type(type),
|
||||
_shaderBinary(shaderBinary),
|
||||
_shaderDefinesMode(USE_SHADER_PRAGAMA)
|
||||
_shaderDefinesMode(USE_SHADER_PRAGMA)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -277,7 +277,7 @@ void State::reset()
|
||||
_lastAppliedProgramObject = 0;
|
||||
|
||||
// what about uniforms??? need to clear them too...
|
||||
// go through all active Unfirom's, setting to change to force update,
|
||||
// go through all active Uniform's, setting to change to force update,
|
||||
// the idea is to leave only the global defaults left.
|
||||
for(UniformMap::iterator uitr=_uniformMap.begin();
|
||||
uitr!=_uniformMap.end();
|
||||
@ -945,7 +945,7 @@ void State::setInterleavedArrays( GLenum format, GLsizei stride, const GLvoid* p
|
||||
OSG_NOTICE<<"Warning: State::setInterleavedArrays(..) not implemented."<<std::endl;
|
||||
#endif
|
||||
|
||||
// the crude way, assume that all arrays have been effected so dirty them and
|
||||
// the crude way, assume that all arrays have been affected so dirty them and
|
||||
// disable them...
|
||||
dirtyAllVertexArrays();
|
||||
}
|
||||
|
@ -985,7 +985,7 @@ unsigned int Uniform::getNameID(const std::string& name)
|
||||
return id;
|
||||
}
|
||||
|
||||
// Use a proxy to force the initialization of the static variables in the Unifrom::getNameID() method during static initialization
|
||||
// Use a proxy to force the initialization of the static variables in the Uniform::getNameID() method during static initialization
|
||||
OSG_INIT_SINGLETON_PROXY(UniformNameIDStaticInitializationProxy, Uniform::getNameID(std::string()))
|
||||
|
||||
|
||||
|
@ -101,7 +101,7 @@ void CameraManipulator::computeHomePosition(const osg::Camera *camera, bool useB
|
||||
if (camera)
|
||||
{
|
||||
|
||||
// try to compute dist from frustrum
|
||||
// try to compute dist from frustum
|
||||
double left,right,bottom,top,zNear,zFar;
|
||||
if (camera->getProjectionMatrixAsFrustum(left,right,bottom,top,zNear,zFar))
|
||||
{
|
||||
|
@ -138,13 +138,13 @@ public:
|
||||
bool GetTileOriginType(trpgTileType &) const;
|
||||
/* Group IDs are used by TerraPage to hook level of detail structures together.
|
||||
A TerraPage database can have an arbitrary number of terrain LODs, each stored
|
||||
seperately. To hook them together we use trpgAttach nodes and number each group &
|
||||
separately. To hook them together we use trpgAttach nodes and number each group &
|
||||
LOD node. This returns the maximum group ID in the file, which is important
|
||||
to know if you're keeping an array of them. */
|
||||
bool GetMaxGroupID(int &) const;
|
||||
|
||||
/* A TerraPage archive can contain any number of terrain LODs (a typical number is 4).
|
||||
Each of these terrain LODs is accessed seperately (as are the tiles within them).
|
||||
Each of these terrain LODs is accessed separately (as are the tiles within them).
|
||||
This returns the number of terrain LODs in the file. It will be at least 1.
|
||||
See trpgAttach for instructions on how to hook the terrain LODs together.
|
||||
|
||||
@ -2551,14 +2551,14 @@ public:
|
||||
this node rotates around the center in the way specified by GetMode. (2) Individual - This
|
||||
is a little weirder. Basically, it's here for trees. It's assumed that
|
||||
there will be one or more trpgGeometry nodes below this node. Each single
|
||||
primitive is supposed to rotate "seperately". That is, you must take into
|
||||
primitive is supposed to rotate "separately". That is, you must take into
|
||||
account the unique center of each one and rotate it around that. If you have
|
||||
some optimization scheme where you can deal with groups of billboards (ala Performer)
|
||||
it is valid to do so in the Individual case. */
|
||||
bool GetType(int &) const;
|
||||
/* Center of the thing to be rotated. For Group this does the obvious thing.
|
||||
For Individual it should be the center of the group of things you want to rotate.
|
||||
This has no use if you're going to rotate each primitive seperately, but if you've
|
||||
This has no use if you're going to rotate each primitive separately, but if you've
|
||||
got some sort of optimized scheme for doing so (ala Performer) this information is useful.
|
||||
*/
|
||||
bool GetCenter(trpg3dPoint &) const;
|
||||
|
@ -28,8 +28,8 @@
|
||||
|
||||
namespace
|
||||
{
|
||||
// This will recursivelly call itself up until
|
||||
// all the tiule are done
|
||||
// This will recursively call itself up until
|
||||
// all the tiles are done
|
||||
void printBuf(int lod, int x, int y, trpgr_Archive *archive, trpgPrintGraphParser& parser, trpgMemReadBuffer &buf, trpgPrintBuffer &pBuf)
|
||||
{
|
||||
char ls[1024];
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
int stripStat[15]; // Strip length stats
|
||||
int fanStat[15]; // Fan length stats
|
||||
|
||||
int stripGeom; // Number of seperate trpgGeometry nodes for strips
|
||||
int stripGeom; // Number of separate trpgGeometry nodes for strips
|
||||
int fanGeom; // Same for fans
|
||||
int bagGeom; // Same for bags
|
||||
|
||||
|
@ -557,7 +557,7 @@ ActiveOperators::~ActiveOperators()
|
||||
{
|
||||
}
|
||||
|
||||
void ActiveOperators::collect(osg::Node* incommingNode, osg::NodeVisitor::TraversalMode tm)
|
||||
void ActiveOperators::collect(osg::Node* incomingNode, osg::NodeVisitor::TraversalMode tm)
|
||||
{
|
||||
_previous.swap(_current);
|
||||
|
||||
@ -565,21 +565,21 @@ void ActiveOperators::collect(osg::Node* incommingNode, osg::NodeVisitor::Traver
|
||||
|
||||
FindOperatorsVisitor fov(_current, tm);
|
||||
|
||||
if (incommingNode)
|
||||
if (incomingNode)
|
||||
{
|
||||
incommingNode->accept(fov);
|
||||
incomingNode->accept(fov);
|
||||
}
|
||||
else
|
||||
{
|
||||
OSG_NOTICE<<"ActiveOperators::collect() incommingNode="<<incommingNode<<std::endl;
|
||||
OSG_NOTICE<<"ActiveOperators::collect() incomingNode="<<incomingNode<<std::endl;
|
||||
}
|
||||
|
||||
OSG_INFO<<"ActiveOperators::collect("<<incommingNode<<")"<<std::endl;
|
||||
OSG_INFO<<"ActiveOperators::collect("<<incomingNode<<")"<<std::endl;
|
||||
OSG_INFO<<" _previous.size()="<<_previous.size()<<std::endl;
|
||||
OSG_INFO<<" _current.size()="<<_current.size()<<std::endl;
|
||||
|
||||
_outgoing.clear();
|
||||
_incomming.clear();
|
||||
_incoming.clear();
|
||||
_maintained.clear();
|
||||
|
||||
for(OperatorList::iterator itr = _previous.begin();
|
||||
@ -596,7 +596,7 @@ void ActiveOperators::collect(osg::Node* incommingNode, osg::NodeVisitor::Traver
|
||||
++itr)
|
||||
{
|
||||
ObjectOperator* curr = itr->get();
|
||||
if (_previous.count(curr)==0) _incomming.insert(curr);
|
||||
if (_previous.count(curr)==0) _incoming.insert(curr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -636,7 +636,7 @@ void ActiveOperators::process(SlideEventHandler* seh)
|
||||
{
|
||||
processOutgoing(seh);
|
||||
processMaintained(seh);
|
||||
processIncomming(seh);
|
||||
processIncoming(seh);
|
||||
}
|
||||
|
||||
void ActiveOperators::processOutgoing(SlideEventHandler* seh)
|
||||
@ -661,11 +661,11 @@ void ActiveOperators::processMaintained(SlideEventHandler* seh)
|
||||
}
|
||||
}
|
||||
|
||||
void ActiveOperators::processIncomming(SlideEventHandler* seh)
|
||||
void ActiveOperators::processIncoming(SlideEventHandler* seh)
|
||||
{
|
||||
OSG_INFO<<" incomming.size()="<<_incomming.size()<<std::endl;
|
||||
for(OperatorList::iterator itr = _incomming.begin();
|
||||
itr != _incomming.end();
|
||||
OSG_INFO<<" incoming.size()="<<_incoming.size()<<std::endl;
|
||||
for(OperatorList::iterator itr = _incoming.begin();
|
||||
itr != _incoming.end();
|
||||
++itr)
|
||||
{
|
||||
(*itr)->enter(seh);
|
||||
|
@ -1603,7 +1603,7 @@ void ConvexPolyhedron::extrude( const osg::Vec3d & offset )
|
||||
double dotOffset0 = edgeFaces[0]->plane.getNormal() * offset;
|
||||
double dotOffset1 = edgeFaces[1]->plane.getNormal() * offset;
|
||||
#endif
|
||||
//Select orthogonal faces and vertices appropriate for offseting
|
||||
//Select orthogonal faces and vertices appropriate for offsetting
|
||||
if( (dotOffset0 == 0.0 && dotOffset1 < 0.0) ||
|
||||
(dotOffset1 == 0.0 && dotOffset0 < 0.0) )
|
||||
{
|
||||
|
@ -49,9 +49,9 @@ DebugShadowMap::DebugShadowMap():
|
||||
// Why this fancy 24 bit depth to 24 bit rainbow colors shader ?
|
||||
//
|
||||
// Depth values cannot be easily cast on color component because they are:
|
||||
// a) 24 or 32 bit and we loose lots of precision when cast on 8 bit
|
||||
// a) 24 or 32 bit and we lose lots of precision when cast on 8 bit
|
||||
// b) depth value distribution is non linear due to projection division
|
||||
// when cast on componenent color there is usually very minor shade variety
|
||||
// when cast on component color there is usually very minor shade variety
|
||||
// and its often difficult to notice that there is anything in the buffer
|
||||
//
|
||||
// Shader looks complex but it is used only for debug head-up rectangle
|
||||
|
@ -50,26 +50,26 @@ ShadowTechnique::~ShadowTechnique()
|
||||
|
||||
void ShadowTechnique::init()
|
||||
{
|
||||
OSG_NOTICE<<className()<<"::init() not implemened yet"<<std::endl;
|
||||
OSG_NOTICE<<className()<<"::init() not implemented yet"<<std::endl;
|
||||
|
||||
_dirty = false;
|
||||
}
|
||||
|
||||
void ShadowTechnique::update(osg::NodeVisitor& nv)
|
||||
{
|
||||
OSG_NOTICE<<className()<<"::update(osg::NodeVisitor&) not implemened yet."<<std::endl;
|
||||
OSG_NOTICE<<className()<<"::update(osg::NodeVisitor&) not implemented yet."<<std::endl;
|
||||
_shadowedScene->osg::Group::traverse(nv);
|
||||
}
|
||||
|
||||
void ShadowTechnique::cull(osgUtil::CullVisitor& cv)
|
||||
{
|
||||
OSG_NOTICE<<className()<<"::cull(osgUtl::CullVisitor&) not implemened yet."<<std::endl;
|
||||
OSG_NOTICE<<className()<<"::cull(osgUtl::CullVisitor&) not implemented yet."<<std::endl;
|
||||
_shadowedScene->osg::Group::traverse(cv);
|
||||
}
|
||||
|
||||
void ShadowTechnique::cleanSceneGraph()
|
||||
{
|
||||
OSG_NOTICE<<className()<<"::cleanSceneGraph()) not implemened yet."<<std::endl;
|
||||
OSG_NOTICE<<className()<<"::cleanSceneGraph()) not implemented yet."<<std::endl;
|
||||
}
|
||||
|
||||
void ShadowTechnique::traverse(osg::NodeVisitor& nv)
|
||||
|
@ -111,7 +111,7 @@ void ShadowVolume::init()
|
||||
}
|
||||
else
|
||||
{
|
||||
OSG_NOTICE<<"STENCIL_TWO_PASSES selecteted"<<std::endl;
|
||||
OSG_NOTICE<<"STENCIL_TWO_PASSES selected"<<std::endl;
|
||||
|
||||
osg::StateSet* ss_sv1 = geode->getOrCreateStateSet();
|
||||
ss_sv1->setRenderBinDetails(shadowVolumeBin, "RenderBin");
|
||||
@ -351,6 +351,6 @@ void ShadowVolume::cull(osgUtil::CullVisitor& cv)
|
||||
|
||||
void ShadowVolume::cleanSceneGraph()
|
||||
{
|
||||
OSG_NOTICE<<className()<<"::cleanSceneGraph()) not implemened yet, but almost."<<std::endl;
|
||||
OSG_NOTICE<<className()<<"::cleanSceneGraph()) not implemented yet, but almost."<<std::endl;
|
||||
}
|
||||
|
||||
|
@ -1164,7 +1164,7 @@ void ViewDependentShadowMap::createShaders()
|
||||
|
||||
unsigned int _baseTextureUnit = 0;
|
||||
|
||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_accessUnfiromsAndProgramMutex);
|
||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_accessUniformsAndProgramMutex);
|
||||
|
||||
_shadowCastingStateSet = new osg::StateSet;
|
||||
|
||||
@ -2346,7 +2346,7 @@ osg::StateSet* ViewDependentShadowMap::selectStateSetForRenderingShadow(ViewDepe
|
||||
|
||||
osg::ref_ptr<osg::StateSet> stateset = vdd.getStateSet();
|
||||
|
||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_accessUnfiromsAndProgramMutex);
|
||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_accessUniformsAndProgramMutex);
|
||||
|
||||
vdd.getStateSet()->clear();
|
||||
|
||||
|
@ -656,7 +656,7 @@ Cameras getActiveCameras(osg::View& view)
|
||||
|
||||
}
|
||||
|
||||
bool View::setUpDepthPartitionForCamera(osg::Camera* cameraToPartition, DepthPartitionSettings* incomming_dps)
|
||||
bool View::setUpDepthPartitionForCamera(osg::Camera* cameraToPartition, DepthPartitionSettings* incoming_dps)
|
||||
{
|
||||
osg::ref_ptr<osg::GraphicsContext> context = cameraToPartition->getGraphicsContext();
|
||||
if (!context) return false;
|
||||
@ -664,7 +664,7 @@ bool View::setUpDepthPartitionForCamera(osg::Camera* cameraToPartition, DepthPar
|
||||
osg::ref_ptr<osg::Viewport> viewport = cameraToPartition->getViewport();
|
||||
if (!viewport) return false;
|
||||
|
||||
osg::ref_ptr<DepthPartitionSettings> dps = incomming_dps;
|
||||
osg::ref_ptr<DepthPartitionSettings> dps = incoming_dps;
|
||||
if (!dps) dps = new DepthPartitionSettings;
|
||||
|
||||
bool useMastersSceneData = true;
|
||||
|
@ -73,7 +73,7 @@ REGISTER_OBJECT_WRAPPER( osgManipulator_Dragger,
|
||||
osgManipulator::Dragger,
|
||||
"osg::Object osg::Node osg::Transform osg::MatrixTransform osgManipulator::Dragger" )
|
||||
{
|
||||
// Dragger should not record children seperately, so ignore the osg::Group class wrapper
|
||||
// Dragger should not record children separately, so ignore the osg::Group class wrapper
|
||||
|
||||
ADD_BOOL_SERIALIZER( HandleEvents, false ); // _handleEvents
|
||||
ADD_BOOL_SERIALIZER( DraggerActive, false ); // _draggerActive
|
||||
|
Loading…
Reference in New Issue
Block a user