Commit Graph

5541 Commits

Author SHA1 Message Date
Robert Osfield
648455da34 Changed the dependency list to use -losg -losgDB instead of OSG_LIBS 2006-10-23 15:29:59 +00:00
Robert Osfield
8544337aca Fixed OSX x86 endian issue in Quicktime movie plugin. 2006-10-21 21:06:27 +00:00
Robert Osfield
f3b71fc2ac From David Callu:
"
  the main problem is the wrapper generation:
       The PropertyInfo class use MethodInfo class to access to the value.
       When the property are define with the I_Property* macro,
       the MethodInfo use by the property to have access to the value
       are instancied in the I_Property* macro, but there
       are already instantied by the I_Method* macro before


   secondary problem:
      - the function used by the property could no be customized
        in the genwrapper.conf file
      - an array property can't insert a value
      - the std::map reflector (and indexedProperty in general) haven't remove method
      - about the help in wrapper ... why not ...



   solution :
      To use the function define by the I_Method, I add a MethodInfo variable in the I_Method0 macro
        old macro :
           #define I_Method0(ret, fn) (\
           params.clear(),\
           addMethod(new osgIntrospection::TypedMethodIn
fo0<reflected_type, ret >(qualifyName(#fn), &reflected_type::fn, params)))

        new macro :
           #define I_Method0(ret, fn, signature, briefHelp, detailedHelp) \
           params.clear(); \
          osgIntrospection::MethodInfo* signature = addMethod(new osgIntrospection::TypedMethodInfo0<reflected_type, ret >(qualifyName(#fn), &reflected_type::fn, params, briefHelp, detailedHelp)); sink(signature)



    the osgIntrospection::MethodInfo* signature is used by the I_Property macro to define the MethodInfo that it use

    so for I_Property macro :
        old macro :
          #define I_PropertyWithReturnType(t, n, r) \
          cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \
          I_Method0(t, get##n), \
          I_Method1(r, set##n, IN, t, value)))

         new macro:
           #define I_SimpleProperty(t, n, get, set) \
           get, \
           set))

      The genwrapper has been modified in this way.
      The method signature is define by the prototype of the method
      For example, the "const char* libraryName();" have "__C5_char_P1__libraryName" for signature


   solution for secondary problem:
      The genwrapper accept new tokens in the configuration to custumize the property.
      The new PropertyInserter and the CustomPropertyInsertAttribute class has been defined
      The PropertyRemover has been added to the StdMapReflector
      The _briefHelp and _detailedHelp variable has been added in PropertyInfo, MethodInfo and ContructorInfo class






   modification:

      I have modify the genwrapper files
          Configuration.cpp Configuration.h                          add some tokens to custumize the property
          Doxyfile.template                                                 add the comment in the output xml
          genwrapper.conf                                                  customize some property in osg::Geometry
          RegistryBuilder.h RegistryBuilder.cpp                    add the process_help function (to extract help from xml)
          TypeRegister.cpp TypeRegister.h                         optimize the property detection
          TypeDesc.h TypeDesc.cpp                                   modify FunctionDesc and PropertyDesc
          WrapperGenerator.h WrapperGenerator.cpp          modify the output




      I also modify the fallowing osgIntrospection files:

          include/osgIntrospection/Attributes                              add the PropertyInserter and the CustomPropertyInsertAttribute class
          include/osgIntrospection/ConstructorInfo                      add the _briefHelp and _detailedHelp variable in the ConstructorInfo class
                                                                                          add access function for the two new variables (_briefHelp and _detailedHelp)
                                                                                          modify the constructor to define the two new variables (_briefHelp and _detailedHelp)
          include/osgIntrospection/MethodInfo                            add the _briefHelp and _detailedHelp variable in the MethodInfo class
                                                                                          add access function for the two new variables (_briefHelp and _detailedHelp)
                                                                                          modify the constructor to define the two new variables (_briefHelp and _detailedHelp)
          include/osgIntrospection/PropertyInfo                          add the _briefHelp and _detailedHelp variable in the PropertyInfo class
                                                                                          add access function for the two new variables (_briefHelp and _detailedHelp)
                                                                                          modify the constructor to define the two new variables (_briefHelp and _detailedHelp)
          include/osgIntrospection/ReflectionMacro                    remove unused I_Property* macro
                                                                                          modify all I_Method macro to accept the help string
                                                                                          modify all I_Method macro to define a MethodInfo signature
          include/osgIntrospection/Reflector                              add the PropertyInserter in StdVectorReflector and StdListReflector
                                                                                          add the PropertyRemover in the StdMapReflector
          include/osgIntrospection/StaticMethodInfo                   modify all StaticMethodInfo* to accept the help in parameter
          include/osgIntrospection/TypedMethodInfo                  modify all TypedMethodInfo* to accept the help in parameter
          include/osgIntrospection/TypedConstructorInfo             modify all TypedConstructorInfo* to accept the help in parameter
          include/osgIntrospection/Type                                     add the _briefHelp and _detailedHelp variable in the Type class

"
2006-10-17 15:17:06 +00:00
Robert Osfield
763c25a1ed Changed name osg osgshadow example.dsp to avoid MS conflicts 2006-10-17 12:29:07 +00:00
Robert Osfield
a24eb4f9ef Added osgshadow example 2006-10-17 11:28:34 +00:00
Robert Osfield
efd543d1b0 Ported FLTK example across to using GraphicsWindow 2006-10-15 11:56:52 +00:00
Robert Osfield
a8f44479db Ported across to using GraphicsWindow. 2006-10-15 11:39:35 +00:00
Robert Osfield
f257285efc From Chuck Seberion, added support reading ARB float format textures. 2006-10-14 21:50:29 +00:00
Robert Osfield
660cda57c8 From Terry Welsh, mplemented POINT_ROT_EYE. 2006-10-14 21:47:13 +00:00
Robert Osfield
b439c08b71 From Paul de Repentigny, fix for dvide by zero crash under windows when toggle full screen in ogviewer.
From Robert Osfield, tweak to the fix to add comment describing the extra check, and addition of check against width, and change to ==0 rather than <= 0.
2006-10-14 10:16:00 +00:00
Robert Osfield
97fc2dfa21 Fixed texture coordinates of cylinder ends. 2006-10-14 10:07:21 +00:00
Robert Osfield
22b15d6473 Added -losgDB to fix OSX build 2006-10-13 14:00:08 +00:00
Robert Osfield
ad9cf99109 Added dae (COLLADA) plugin to OpenSceneGraph.dsw workspace. 2006-10-07 11:57:28 +00:00
Robert Osfield
56e134dc34 Added project files for the osgsimpleviewerFLTK,GLUT,Producer,QT3,QT4 and SDL examples 2006-10-07 11:53:07 +00:00
Robert Osfield
01af960751 Fixed OSGSHADOW_LIBRARY define 2006-10-06 14:46:50 +00:00
Robert Osfield
686b22271c Fixed library name 2006-10-06 14:45:18 +00:00
Robert Osfield
5163c4a762 First cut at class interfaces and stubs for implementations for the new osgShadow NodeKit 2006-10-06 14:16:11 +00:00
Robert Osfield
d445995432 From Brede Johansen, "Here's a patch discussed in the thread "OpenFlight Loader Discarding
Material" on the osg-user mailing list."
2006-10-06 13:04:48 +00:00
Robert Osfield
fe575de98f Updated wrappers 2006-10-06 11:02:34 +00:00
Robert Osfield
f95a913daa Removed osgGA::GUIEventHandlerVisitor and osgGA::SetSceneVistor classes/headers as
this classes weren't being actively used the distribution, effectively being noops.
2006-10-06 09:54:45 +00:00
Robert Osfield
2f5b7c2e6a Added workaround for NVidia driver bug into SceneView::init() to prevent the extensions
string being initialized within a display list.
2006-10-06 06:58:04 +00:00
Robert Osfield
d40e12a27b Removed deprecated GUIEventHandler method 2006-10-05 14:32:39 +00:00
Robert Osfield
51aade98cc Renamed variable 2006-10-05 10:59:50 +00:00
Robert Osfield
e7e293594c Refactored osgsimpleviewerQT4 to implement a GraphicsWindowQT, and then use
multiple inheritance to build the final SimpleViewerQT.
2006-10-05 10:59:04 +00:00
Robert Osfield
100288b272 Added a path with an experiemental GraphicsContexProducer implementation, and a
test of mulitple inheritance.
2006-10-05 10:07:16 +00:00
Robert Osfield
632df7f3ff Added osgGA::GraphicsWindow base class that derives from osg::GraphicsContext but
adds default overrides its pure virtue methods, and an EventQueue.
2006-10-05 10:06:19 +00:00
Robert Osfield
281865d7fc Added osgGA depedency. 2006-10-04 09:11:37 +00:00
Robert Osfield
8e3a092a00 Removed the redundent relaseGLObjects() method declerations 2006-10-03 20:42:57 +00:00
Robert Osfield
490fc96ea6 From John Aughey, "Attached is the Optimizer.cpp file that has the fix to duplicate vertex and normal arrays if there is more than one reference to the data. This fixes the problem where the transforms are applied to the same vertex array multiple times if that vertex array is re-used within the model. " 2006-10-03 20:20:23 +00:00
Robert Osfield
fecb63785f From John Aughey, "The id name of nodes are not being set in the daeReader::processNode method. The names are retained in most of the other osg::Nodes that are created. In this case, I have an external modeler creating models, and the name of component nodes are used to give that subtree different characteristics." 2006-10-03 19:55:24 +00:00
Robert Osfield
1c749e95d6 Added osgDB to dependency of osgGA 2006-10-03 12:46:11 +00:00
Robert Osfield
7c6b528588 Fixed bug related to clean up of text fonts. 2006-10-03 11:14:34 +00:00
Robert Osfield
392232ec06 From Brede Johansen, "This submission adds multitexture support for detecting translucent
images used to enable alpha blending.

Mesh was syncronized with featureset from Face record."
2006-10-03 09:55:28 +00:00
Robert Osfield
e686a9a4a5 From Brede Johansen, "I think some nitpicking is required. The loop duration was added in
OpenFlight version 15.8.  With the attached changes the flasher unit
on the spinnercar and the character_anim model from the Creator
gallery behaves."
2006-10-03 09:39:03 +00:00
Robert Osfield
842b96bbc9 From Colin McDonald, "I've included render bin checks in the StateSet::compare function, because
without them the Optimizer can incorrectly eliminate (otherwise identical)
StateSets from different render bins."
2006-10-02 15:59:43 +00:00
Robert Osfield
e0599f652e Added releaseGLObjects to NodeCallbacks, Drawable::DrawCallbacks and wired up
osgProducer to use it when doing cleanup_frame.
2006-10-02 15:38:31 +00:00
Robert Osfield
02783e1dfd From Paul Martz, Bug fix for sequence node direction, It examines the number of children in the Group record destructor, so that the total duration of the sequence matches the specified loopDuration field. 2006-10-02 15:09:49 +00:00
Robert Osfield
f97759405a From Farshid Lashkari, "Here is the patch we discussed previously about adding a flag to
CullSettings which allows CameraNode to inherit the clear color."
2006-10-02 14:11:40 +00:00
Robert Osfield
eb68735ff9 From Farshid Lashkari, "The ColorControl of osg::LightModel is never applied because it
incorrectly checks for a valid OpenGL version. Instead of checking if
the current version is exactly 1.2, it will check if the version is
greater than 1.2."
2006-10-02 13:40:58 +00:00
Robert Osfield
e3478069b4 From Per Fahlberg, "Attached is a fix for loading the same file multiple times with the
COLLADA plugin. dae->load will not return DAE_OK the second time a model is loaded, so a
second check for DAE_ERR_COLLECTION_ALREADY_EXISTS has been added."
2006-10-02 13:24:39 +00:00
Robert Osfield
3bfa8a27a8 From Edgar Ellis, "Changed return type of osg::equivalent methods from float/double to bool.
"
2006-10-02 13:11:32 +00:00
Robert Osfield
c991e33796 From Andreas Ekstrand, "Attached is a small bug fix in the DW plugin. The texture application
matrix is read into a double matrix called mx, it was declared as 3x2,
it's now fixed to 3x3."
2006-10-02 13:07:50 +00:00
Robert Osfield
3edda73797 Added SERIALIZER to ReaderWriterDAE to make sure initialization is thread safe. 2006-10-02 11:47:55 +00:00
Robert Osfield
9dd487e6c8 From Andreas Ekstrand, "Attached is a modified ReaderWriterDAE.cpp which creates the one and
only DAE instance when it's first needed instead of in the constructor.
This fixes the problem with osgdb_dae.dll not being loaded due to
unwanted ordering of global initialization.

This fix and the previous fix of the COLLADA plugin might be unnecessary
with the latest COLLADA DOM, but since many of us will probably still
use the older version of the DOM, I guess it's better this way.
"
2006-10-02 11:38:25 +00:00
Robert Osfield
0c8d909800 From Andreas Ekstrand, "It seems my changes to ESRIShape.dsp (to create an osgdb_shp.dll rather
than an osgdb_ESRI.dll) were overwritten by later commits to this file.
Here are the changes again, made from the latest version of ESRIShape.dsp."
2006-10-02 11:34:45 +00:00
Robert Osfield
42dfe67c0c From Farshid Lashkari, "There was a bug in ParticleSystem where the bounds is not properly
flagged as computed when there is only 1 particle. Attached is the
fix."
2006-10-02 11:26:43 +00:00
Robert Osfield
ba7d27c9b2 From Chris Hanson, "These changes break out the implementation of the fill/wireframe/point, texture,
lighting and backface culling settings from the event handling code in StatesetManipulator
into public methods. The event handler now calls the public methods. This allows user code
to invoke this same functionality from non-keyboard event inputs without clashing with the
keyboard-invoked functionality."

From Robert Osfield, tweaks to the above to kepp the coding style the same as the rest of the OSG, also
made getPolygonMode() const, and updated the wrappers.
2006-10-01 19:19:31 +00:00
Robert Osfield
61ce7dd5ac From Brede Johansen, "I have added "billboardCenter" as a reader option to use the center of
a billboard as the pivot point."
2006-10-01 19:09:00 +00:00
Robert Osfield
f03218215d From Colin McDonald, "I have corrected a byte swapping problem in the new OpenFlight
plugin.  It was only reading floats & doubles correctly on little
endian systems, which require byte swapping, and not on big
endian systems which don't require any swapping."
2006-10-01 19:00:39 +00:00
Robert Osfield
f9eaa76d37 Added GLUT based osgsimpleviewerGLUT example 2006-10-01 16:14:16 +00:00