Added a bunch of files synched with 0.8.42
This commit is contained in:
parent
fed86f3f03
commit
e8f256a59d
67
AUTHORS
67
AUTHORS
@ -4,20 +4,27 @@
|
|||||||
# Feel free to add your name and change list.
|
# Feel free to add your name and change list.
|
||||||
|
|
||||||
Robert Osfield <robertosfield@yahoo.co.uk>
|
Robert Osfield <robertosfield@yahoo.co.uk>
|
||||||
- osg and osgUtil.
|
- osg, osgUtil and osgDB.
|
||||||
- pfb, gif, jpeg, tiff, tga, pic plugins.
|
- pfb, 3ds, gif, jpeg, tiff, tga, pic, tgz & zip plugins.
|
||||||
- sgv, various revisions, now most of code in osgGLUT.
|
- sgv, various revisions, now most of code in osgGLUT.
|
||||||
|
- 2nd iteration of impostor implemtentation.
|
||||||
- documentation?!
|
- documentation?!
|
||||||
- visual studio workspace files/unix makefiles.
|
- visual studio workspace files/unix makefiles.
|
||||||
- project adim & lead.
|
- project adim & lead.
|
||||||
|
|
||||||
Don Burns <don_burns@sgi.com>
|
Don Burns <don@keyholecorp.com>
|
||||||
- libosg (particularily OpenGL)
|
- osg (particularily OpenGL)
|
||||||
- first version of sgv.
|
- first version of sgv.
|
||||||
- fly database plugin.
|
- fly database & osgtgz plugins.
|
||||||
- netscape plugin.
|
|
||||||
- unix makefiles.
|
- unix makefiles.
|
||||||
|
|
||||||
|
Karsten Weiss <knweiss@gmx.de>
|
||||||
|
- 1st iteration of impostor implemtentation.
|
||||||
|
- autoconfiscation of the project (currently a seperate branch.)
|
||||||
|
- rpm spec file.
|
||||||
|
- documentation.
|
||||||
|
- bug fixes.
|
||||||
|
|
||||||
Graeme Harkness <graeme@phys.strath.ac.uk>
|
Graeme Harkness <graeme@phys.strath.ac.uk>
|
||||||
- osg::Vec2,Vec3,Vec4 & osg::Quat classes.
|
- osg::Vec2,Vec3,Vec4 & osg::Quat classes.
|
||||||
- reworking of old sgv into osgGLUT and a slim line Demos/sgv.
|
- reworking of old sgv into osgGLUT and a slim line Demos/sgv.
|
||||||
@ -34,11 +41,47 @@ Brede Johansen <bredej@email.com>
|
|||||||
- assistance on visual studio workspace files.
|
- assistance on visual studio workspace files.
|
||||||
|
|
||||||
Ben Discoe <ben@vterrain.org>
|
Ben Discoe <ben@vterrain.org>
|
||||||
|
- osgWX and wxsgv demos for integration of OSG with wxWindows.
|
||||||
- png plugin.
|
- png plugin.
|
||||||
- a couple of bug fixes and code submissions.
|
|
||||||
|
|
||||||
Karsten Weiss <knweiss@gmx.de>
|
|
||||||
- autoconfiscation of the project.
|
Byan Woods <byran@tapestrysolutions.com>
|
||||||
- rpm spec file.
|
- Port to MacOS, various code changes to support this.
|
||||||
- documentation.
|
- Metrowerks CodeWarrior makefiles.
|
||||||
- bug fixes.
|
|
||||||
|
Randall Hopper <aa8vb@yahoo.com>
|
||||||
|
- port to FreeBSD.
|
||||||
|
- warning fixes to IRIX compilation.
|
||||||
|
|
||||||
|
Ulrich Hertlein <u.hertlein@bit-side.com>
|
||||||
|
- support for IBM Mirror Repeat extension in osg::Texture
|
||||||
|
- support for texture subloading in osg::Texture
|
||||||
|
- .lwo and .obj plugins.
|
||||||
|
|
||||||
|
Axel Volley <volley@acm.org>
|
||||||
|
- support for OBJECT_LINEAR and EYE_LINEAR TexGen modes.
|
||||||
|
- support for the Anistropic texture filter extension.
|
||||||
|
|
||||||
|
Geoff Michel
|
||||||
|
- .dw (design workshop) loader plugin.
|
||||||
|
- OpenGL based stats reporting added to osgGLUT::Viewer.
|
||||||
|
|
||||||
|
Indirect Contributors
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
J.E. Hoffmann <je-h@gmx.net>
|
||||||
|
- lib3ds library.
|
||||||
|
|
||||||
|
Systems in Motion <http://www.sim.no>
|
||||||
|
Peder Blekken <pederb@sim.no>
|
||||||
|
Morten Eriksen <mortene@sim.no>
|
||||||
|
Marius Bugge Monsen <mariusbu@sim.no>
|
||||||
|
- simage library which provide base for gif,jpg,pic,tga,tiff image loaders.
|
||||||
|
|
||||||
|
Janne Löf <jlof@mail.student.oulu.fi>
|
||||||
|
- lw is a LightWave mesh reader, used to develop osgPlugins/lwo.
|
||||||
|
|
||||||
|
Nate Robins - http://www.pobox.com/~ndr/
|
||||||
|
- glm file format reader, usedf to develop osgPlugin/obj.
|
||||||
|
|
||||||
|
|
||||||
|
36
FAQ
36
FAQ
@ -4,14 +4,14 @@ o API's feature set
|
|||||||
|
|
||||||
The scene graph is arranged with geometry nodes (osg::Geode's) as leaf
|
The scene graph is arranged with geometry nodes (osg::Geode's) as leaf
|
||||||
nodes and internal nodes such as osg::DCS's/Groups/LOD etc for position the
|
nodes and internal nodes such as osg::DCS's/Groups/LOD etc for position the
|
||||||
geometry objects within the scene and organising scene behaviour.
|
geometry objects within the scene and organizing scene behavior.
|
||||||
|
|
||||||
- culling techniques?
|
- culling techniques?
|
||||||
|
|
||||||
Currently view frustum culling, small feature culling, and OpenGL's
|
Currently view frustum culling, small feature culling, and OpenGL's
|
||||||
native backface culling. The OSG has been designed so it can be
|
native backface culling. The OSG has been designed so it can be
|
||||||
easily extended, so if you have a favoured culling technique it
|
easily extended, so if you have a favored culling technique it
|
||||||
won't be difficult to utilise it in the OSG.
|
won't be difficult to utilize it in the OSG.
|
||||||
|
|
||||||
- terrain / indoor support
|
- terrain / indoor support
|
||||||
|
|
||||||
@ -23,7 +23,9 @@ o API's feature set
|
|||||||
However, if you wish to take advantage of specific optimization such
|
However, if you wish to take advantage of specific optimization such
|
||||||
as adaptive meshing such as ROAM, or procedural culling such as when
|
as adaptive meshing such as ROAM, or procedural culling such as when
|
||||||
entering a room or when racing round a track then the OSG's could be
|
entering a room or when racing round a track then the OSG's could be
|
||||||
easily extend to achieve this.
|
easily extend to achieve this. This is demonstrated in VTP Enviro
|
||||||
|
which is is based on the OSG, extended osg::GeoSet to provide CLOD
|
||||||
|
for terrain.
|
||||||
|
|
||||||
These features are not currently on the todo list for version 1.0 as
|
These features are not currently on the todo list for version 1.0 as
|
||||||
we intend to keep the OSG focused on the core scene graph. However,
|
we intend to keep the OSG focused on the core scene graph. However,
|
||||||
@ -59,13 +61,13 @@ o What is the design philosophy behind the OSG.
|
|||||||
- Channel configuration
|
- Channel configuration
|
||||||
|
|
||||||
The Scene Graph is just that. It manages a tree structure of different
|
The Scene Graph is just that. It manages a tree structure of different
|
||||||
node types that allow management over the behaviour of graphical
|
node types that allow management over the behavior of graphical
|
||||||
objects. The Traversers allow us to use the scene graph to render
|
objects. The Traversers allow us to use the scene graph to render
|
||||||
scenes in the most efficient manner, as well as providing maximum
|
scenes in the most efficient manner, as well as providing maximum
|
||||||
functionality for a real-time simulation. The stages are (taken from
|
functionality for a real-time simulation. The stages are (taken from
|
||||||
the Performer approach) :
|
the Performer approach) :
|
||||||
|
|
||||||
App - This is the application part of the simulation that interfaces
|
App - This is the application part of the simulation that interfaces
|
||||||
with the outside world, that is control devices, pilot input, animation
|
with the outside world, that is control devices, pilot input, animation
|
||||||
engines, effects, event engines, etc, etc (there's much more). This is
|
engines, effects, event engines, etc, etc (there's much more). This is
|
||||||
also the stage that determines what the viewpoint is and consequently
|
also the stage that determines what the viewpoint is and consequently
|
||||||
@ -111,7 +113,7 @@ o What is the design philosophy behind the OSG.
|
|||||||
|
|
||||||
The MP issues include, process (or thread) management and
|
The MP issues include, process (or thread) management and
|
||||||
synchronization. Performer has several MP models. We also need to
|
synchronization. Performer has several MP models. We also need to
|
||||||
consider that this software will probably run on seperate PCs
|
consider that this software will probably run on separate PCs
|
||||||
altogether, so that the SGI concept of a single machine with multiple
|
altogether, so that the SGI concept of a single machine with multiple
|
||||||
rendering pipes needs to be extended to include multiple PC's, which
|
rendering pipes needs to be extended to include multiple PC's, which
|
||||||
need to be synchronized across Ethernet or something.
|
need to be synchronized across Ethernet or something.
|
||||||
@ -120,7 +122,7 @@ o What is the design philosophy behind the OSG.
|
|||||||
can be only one App for multiple Cull/Draw pairs. This model might
|
can be only one App for multiple Cull/Draw pairs. This model might
|
||||||
extend quite nicely to a multiple PC environment, in which each PC runs
|
extend quite nicely to a multiple PC environment, in which each PC runs
|
||||||
a Cull/Draw pair, and one central machine runs App, broadcasting the
|
a Cull/Draw pair, and one central machine runs App, broadcasting the
|
||||||
viewing frustums for each viewing channel and synchronizing all.
|
viewing frustum for each viewing channel and synchronizing all.
|
||||||
|
|
||||||
Lastly, channel configuration. Currently we now do this by opening a
|
Lastly, channel configuration. Currently we now do this by opening a
|
||||||
window, choosing a visual, size, etc. It is often desirable to have
|
window, choosing a visual, size, etc. It is often desirable to have
|
||||||
@ -155,7 +157,7 @@ o What is the design philosophy behind the OSG.
|
|||||||
use.
|
use.
|
||||||
|
|
||||||
|
|
||||||
o Would the OSG be a good candidate for terrain visualisation.
|
o Would the OSG be a good candidate for terrain visualization.
|
||||||
|
|
||||||
Terrain is one of the great candidates for scene graphs. Two management
|
Terrain is one of the great candidates for scene graphs. Two management
|
||||||
schemes will help you out : Level Of Detail management and Visibility
|
schemes will help you out : Level Of Detail management and Visibility
|
||||||
@ -221,12 +223,11 @@ o What are the intended target platforms?
|
|||||||
|
|
||||||
o What platforms are currently supported?
|
o What platforms are currently supported?
|
||||||
|
|
||||||
The OSG is currently developed under Windows95, Linux and Irix. Platform
|
The OSG is currently developed under Windows95, Linux,Irix and MacOS. Platform
|
||||||
specific makedefs are provided for Linux and Irix, and VisualC++ 6.0
|
specific makedefs are provided for Linux and Irix, and VisualC++ 6.0
|
||||||
Workspace files for MS Windows platforms.
|
Workspace files for MS Windows platforms.
|
||||||
|
|
||||||
The OSG should also compile under Windows98/NT and 2000 but has not yet
|
The OSG also compiles under Windows98/NT and 2000.
|
||||||
been tested.
|
|
||||||
|
|
||||||
|
|
||||||
o What further platforms will be supported in the near future?
|
o What further platforms will be supported in the near future?
|
||||||
@ -242,7 +243,7 @@ o I'm wondering when the OSG will be ready for release.
|
|||||||
|
|
||||||
Once the design converges to a stable API we will issue it as a beta,
|
Once the design converges to a stable API we will issue it as a beta,
|
||||||
depending on the various factors one would hope to have the API nailed
|
depending on the various factors one would hope to have the API nailed
|
||||||
down during summer 2000.
|
down during early-mid 2001.
|
||||||
|
|
||||||
A full release with stable API and implementation will be available...
|
A full release with stable API and implementation will be available...
|
||||||
Can't set any dates but we can be sure it'll be after then beta release :-)
|
Can't set any dates but we can be sure it'll be after then beta release :-)
|
||||||
@ -278,7 +279,7 @@ o What differentiation between the OSG and other OS projects such as OpenRM/
|
|||||||
each of these scene graphs. DDG doesn't show quite the same heritage,
|
each of these scene graphs. DDG doesn't show quite the same heritage,
|
||||||
and possibly loses a little cleanness of design with it. OpenRM is
|
and possibly loses a little cleanness of design with it. OpenRM is
|
||||||
an attempt at a Object Orientated scene graph but it C... This is
|
an attempt at a Object Orientated scene graph but it C... This is
|
||||||
about a close as I got with it, as IMHO C++ really is the best currently
|
about a close as I got with it, as IMHO C++ really is currently the best
|
||||||
language for a modern scene graph
|
language for a modern scene graph
|
||||||
|
|
||||||
The OSG is also strongly influenced by Performer, this a due to the
|
The OSG is also strongly influenced by Performer, this a due to the
|
||||||
@ -311,6 +312,9 @@ o Is there a class diagram for the OSG, or white paper on the projects goals?
|
|||||||
|
|
||||||
The documentation in the distribution has been generated automatically
|
The documentation in the distribution has been generated automatically
|
||||||
using the excellent Open Source tool doc++, which creates class diagrams.
|
using the excellent Open Source tool doc++, which creates class diagrams.
|
||||||
|
UML diagrams have been generated and can be found in the documentation
|
||||||
|
directory, along with mind maps on design patterns used in the osg,
|
||||||
|
and the mission/goals of the osg.
|
||||||
|
|
||||||
We haven't written an official white paper on projects goals or a design
|
We haven't written an official white paper on projects goals or a design
|
||||||
overview yet. Knowledge of Performer will help in understanding some of the basics
|
overview yet. Knowledge of Performer will help in understanding some of the basics
|
||||||
@ -326,7 +330,7 @@ o Do you need C++ coding support?
|
|||||||
o Any recommendations for useful programming books to read to help understand
|
o Any recommendations for useful programming books to read to help understand
|
||||||
and contribute to the OSG?
|
and contribute to the OSG?
|
||||||
|
|
||||||
Good practices are suprisingly hard to come by. C and C++ give you so
|
Good practices are surprisingly hard to come by. C and C++ give you so
|
||||||
much rope to hang yourself, but there's few books which really give a
|
much rope to hang yourself, but there's few books which really give a
|
||||||
developers the rule book of good coding practices. I found Effective
|
developers the rule book of good coding practices. I found Effective
|
||||||
C++ a refreshing contribution to this end. The Design Patterns book can
|
C++ a refreshing contribution to this end. The Design Patterns book can
|
||||||
@ -337,7 +341,7 @@ o Is there a mailing list?
|
|||||||
|
|
||||||
Yes indeed, hosted by source forge, so to subscribe head to :
|
Yes indeed, hosted by source forge, so to subscribe head to :
|
||||||
http://sourceforge.net/projects/openscenegraph and follow the
|
http://sourceforge.net/projects/openscenegraph and follow the
|
||||||
'Lists' link and follow the intructions.
|
'Lists' link and follow the instructions.
|
||||||
|
|
||||||
o How do I submit my contributions?
|
o How do I submit my contributions?
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ DEPFILES = $(OBJS:.o=.d)
|
|||||||
|
|
||||||
C++ = CC
|
C++ = CC
|
||||||
YFLAGS = -d
|
YFLAGS = -d
|
||||||
#CFLAGS = -O2 -n32 -MDupdate $(MAKEDEPEND)
|
#CFLAGS = -O2 -n32 -MDupdate $(MAKEDEPEND) -DOSG_USE_IO_DOT_H -OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303
|
||||||
CFLAGS = -O2 -n32 -DOSG_USE_IO_DOT_H -OPT:Olimit=0
|
CFLAGS = -O2 -n32 -DOSG_USE_IO_DOT_H -OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303
|
||||||
C++FLAGS = ${CFLAGS}
|
C++FLAGS = ${CFLAGS}
|
||||||
CPPFLAGS = ${CFLAGS}
|
CPPFLAGS = ${CFLAGS}
|
||||||
|
|
||||||
@ -19,8 +19,9 @@ LDFLAGS = -O2 -n32 -OPT:Olimit=0
|
|||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(C++) $(C++FLAGS) -c $<
|
$(C++) $(C++FLAGS) -c $<
|
||||||
|
|
||||||
|
DYNAMICLIBRARYLIB =
|
||||||
PFLIBS = -lpfdu -lpfutil -lpf -limage
|
PFLIBS = -lpfdu -lpfutil -lpf -limage
|
||||||
|
GLUTLIB = -lglut
|
||||||
|
|
||||||
#
|
#
|
||||||
# TARGET_DIRS are directories that would not exist on the system except
|
# TARGET_DIRS are directories that would not exist on the system except
|
||||||
@ -29,6 +30,8 @@ PFLIBS = -lpfdu -lpfutil -lpf -limage
|
|||||||
#
|
#
|
||||||
TARGET_DIRS = \
|
TARGET_DIRS = \
|
||||||
/usr/include/osg \
|
/usr/include/osg \
|
||||||
|
/usr/include/osgDB \
|
||||||
|
/usr/include/osgGLUT \
|
||||||
/usr/include/osgUtil \
|
/usr/include/osgUtil \
|
||||||
/usr/share/OpenSceneGraph\
|
/usr/share/OpenSceneGraph\
|
||||||
/usr/share/OpenSceneGraph/data\
|
/usr/share/OpenSceneGraph/data\
|
||||||
|
@ -8,8 +8,8 @@ DEPFILES = $(OBJS:.o=.d)
|
|||||||
|
|
||||||
C++ = CC
|
C++ = CC
|
||||||
YFLAGS = -d
|
YFLAGS = -d
|
||||||
#CFLAGS = -O2 -n32 -MDupdate $(MAKEDEPEND)
|
#CFLAGS = -O2 -n32 -MDupdate $(MAKEDEPEND) -LANG:std -OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303
|
||||||
CFLAGS = -O2 -n32 -LANG:std -OPT:Olimit=0
|
CFLAGS = -O2 -n32 -LANG:std -OPT:Olimit=0 -DEBUG:woff=1682 -DEBUG:woff=3303
|
||||||
C++FLAGS = ${CFLAGS}
|
C++FLAGS = ${CFLAGS}
|
||||||
CPPFLAGS = ${CFLAGS}
|
CPPFLAGS = ${CFLAGS}
|
||||||
|
|
||||||
@ -19,7 +19,9 @@ LDFLAGS = -O2 -n32 -LANG:std -OPT:Olimit=0
|
|||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(C++) $(C++FLAGS) -c $<
|
$(C++) $(C++FLAGS) -c $<
|
||||||
|
|
||||||
|
DYNAMICLIBRARYLIB =
|
||||||
PFLIBS = -lpfdu -lpfutil -lpf -limage
|
PFLIBS = -lpfdu -lpfutil -lpf -limage
|
||||||
|
GLUTLIB = -lglut
|
||||||
|
|
||||||
#
|
#
|
||||||
# TARGET_DIRS are directories that would not exist on the system except
|
# TARGET_DIRS are directories that would not exist on the system except
|
||||||
@ -28,6 +30,8 @@ PFLIBS = -lpfdu -lpfutil -lpf -limage
|
|||||||
#
|
#
|
||||||
TARGET_DIRS = \
|
TARGET_DIRS = \
|
||||||
/usr/include/osg \
|
/usr/include/osg \
|
||||||
|
/usr/include/osgDB \
|
||||||
|
/usr/include/osgGLUT \
|
||||||
/usr/include/osgUtil \
|
/usr/include/osgUtil \
|
||||||
/usr/share/OpenSceneGraph\
|
/usr/share/OpenSceneGraph\
|
||||||
/usr/share/OpenSceneGraph/data\
|
/usr/share/OpenSceneGraph/data\
|
||||||
|
@ -11,12 +11,16 @@ YFLAGS = -d
|
|||||||
LCINCS += -I/usr/X11R6/include
|
LCINCS += -I/usr/X11R6/include
|
||||||
LC++INCS += ${LCINCS}
|
LC++INCS += ${LCINCS}
|
||||||
CFLAGS = -O2 -W -Wall $(LCINCS)
|
CFLAGS = -O2 -W -Wall $(LCINCS)
|
||||||
|
#CFLAGS = -g -W -Wall $(LCINCS)
|
||||||
C++FLAGS = ${CFLAGS}
|
C++FLAGS = ${CFLAGS}
|
||||||
CPPFLAGS = ${CFLAGS}
|
CPPFLAGS = ${CFLAGS}
|
||||||
|
|
||||||
LDFLAGS = -O2 -W -Wall
|
LDFLAGS = -O2 -W -Wall -L/usr/X11R6/lib
|
||||||
|
#LDFLAGS = -g -W -Wall -L/usr/X11R6/lib
|
||||||
|
|
||||||
|
DYNAMICLIBRARYLIB = -ldl
|
||||||
PFLIBS = -lpfdu -lpfutil -lpf -ldl
|
PFLIBS = -lpfdu -lpfutil -lpf -ldl
|
||||||
|
GLUTLIB = -lglut
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -26,6 +30,8 @@ PFLIBS = -lpfdu -lpfutil -lpf -ldl
|
|||||||
#
|
#
|
||||||
TARGET_DIRS = \
|
TARGET_DIRS = \
|
||||||
/usr/include/osg \
|
/usr/include/osg \
|
||||||
|
/usr/include/osgDB \
|
||||||
|
/usr/include/osgGLUT \
|
||||||
/usr/include/osgUtil \
|
/usr/include/osgUtil \
|
||||||
/usr/share/OpenSceneGraph\
|
/usr/share/OpenSceneGraph\
|
||||||
/usr/share/OpenSceneGraph/data\
|
/usr/share/OpenSceneGraph/data\
|
||||||
|
@ -19,6 +19,10 @@ to_unix :
|
|||||||
for f in *.cpp ; do to_unix $$f $$f; done
|
for f in *.cpp ; do to_unix $$f $$f; done
|
||||||
for f in *.h ; do to_unix $$f $$f; done
|
for f in *.h ; do to_unix $$f $$f; done
|
||||||
|
|
||||||
|
beautify :
|
||||||
|
for f in *.cpp ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
|
# for f in *.h ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
|
|
||||||
|
|
||||||
# force it
|
# force it
|
||||||
depend :
|
depend :
|
||||||
@ -32,9 +36,9 @@ $(MAKEDEPEND) : $(C++FILES) $(CFILES)
|
|||||||
|
|
||||||
docs:
|
docs:
|
||||||
[ "$(TARGET_BASENAME)" != "" ] && \
|
[ "$(TARGET_BASENAME)" != "" ] && \
|
||||||
mkdir -p ../../doc/$(TARGET_BASENAME) && \
|
mkdir -p ../../doc/doc++/$(TARGET_BASENAME) && \
|
||||||
doc++ -d ../../doc/$(TARGET_BASENAME) -H -A ../../include/$(TARGET_BASENAME)/* && \
|
doc++ -d ../../doc/doc++/$(TARGET_BASENAME) -H -A ../../include/$(TARGET_BASENAME)/* && \
|
||||||
echo $(TARGET_BASENAME) HTML documentation created in ../../doc/$(TARGET_BASENAME)
|
echo $(TARGET_BASENAME) HTML documentation created in ../../doc/doc++/$(TARGET_BASENAME)
|
||||||
|
|
||||||
install : home
|
install : home
|
||||||
@ make __install
|
@ make __install
|
||||||
|
@ -18,6 +18,11 @@ to_unix :
|
|||||||
for f in *.cpp ; do to_unix $$f $$f; done
|
for f in *.cpp ; do to_unix $$f $$f; done
|
||||||
for f in *.h ; do to_unix $$f $$f; done
|
for f in *.h ; do to_unix $$f $$f; done
|
||||||
|
|
||||||
|
beautify :
|
||||||
|
for f in *.cpp ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
|
for f in *.h ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
|
|
||||||
|
|
||||||
# force it
|
# force it
|
||||||
depend :
|
depend :
|
||||||
$(C++) $(C++FLAGS) -M $(C++FILES) $(CFILES) > $(MAKEDEPEND)
|
$(C++) $(C++FLAGS) -M $(C++FILES) $(CFILES) > $(MAKEDEPEND)
|
||||||
@ -28,11 +33,14 @@ $(MAKEDEPEND) : $(C++FILES) $(CFILES)
|
|||||||
%.o : %.cpp
|
%.o : %.cpp
|
||||||
$(C++) $(C++FLAGS) -c $*.cpp -o $*.o
|
$(C++) $(C++FLAGS) -c $*.cpp -o $*.o
|
||||||
|
|
||||||
|
%.o : %.c
|
||||||
|
$(C++) $(C++FLAGS) -c $*.c -o $*.o
|
||||||
|
|
||||||
docs:
|
docs:
|
||||||
[ "$(TARGET_BASENAME)" != "" ] && \
|
[ "$(TARGET_BASENAME)" != "" ] && \
|
||||||
mkdir -p ../../doc/$(TARGET_BASENAME) && \
|
mkdir -p ../../doc/doc++/$(TARGET_BASENAME) && \
|
||||||
doc++ -d ../../doc/$(TARGET_BASENAME) -H -A ../../include/$(TARGET_BASENAME)/* && \
|
doc++ -d ../../doc/doc++/$(TARGET_BASENAME) -H -A ../../include/$(TARGET_BASENAME)/* && \
|
||||||
echo $(TARGET_BASENAME) HTML documentation created in ../../doc/$(TARGET_BASENAME)
|
echo $(TARGET_BASENAME) HTML documentation created in ../../doc/doc++/$(TARGET_BASENAME)
|
||||||
|
|
||||||
install : home
|
install : home
|
||||||
@ make __install
|
@ make __install
|
||||||
|
113
Makefile
113
Makefile
@ -4,19 +4,20 @@ MAKE_PREP = Make/makedefs Make/makerules
|
|||||||
|
|
||||||
DIRS = src
|
DIRS = src
|
||||||
|
|
||||||
|
VERSION = osg-0.8.42
|
||||||
|
|
||||||
all : $(MAKE_PREP)
|
all : $(MAKE_PREP)
|
||||||
for f in $(DIRS) ; do cd $$f; make; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) || exit 1; cd ..; done
|
||||||
|
|
||||||
docs :
|
docs :
|
||||||
cd src; make docs;
|
cd src; $(MAKE) docs;
|
||||||
|
|
||||||
|
|
||||||
Make/makedefs :
|
Make/makedefs :
|
||||||
@ cd Make;\
|
@ cd Make;\
|
||||||
case `uname` in\
|
case `uname` in\
|
||||||
IRIX|IRIX64) \
|
IRIX|IRIX64) \
|
||||||
ln -sf makedefs.irix.nonstd makedefs ;;\
|
ln -sf makedefs.irix.std makedefs ;;\
|
||||||
Linux) \
|
Linux) \
|
||||||
ln -sf makedefs.linux makedefs;;\
|
ln -sf makedefs.linux makedefs;;\
|
||||||
esac
|
esac
|
||||||
@ -34,65 +35,107 @@ linux:
|
|||||||
cd Make;\
|
cd Make;\
|
||||||
ln -sf makedefs.linux makedefs;\
|
ln -sf makedefs.linux makedefs;\
|
||||||
ln -sf makerules.linux makerules
|
ln -sf makerules.linux makerules
|
||||||
make
|
$(MAKE)
|
||||||
|
|
||||||
|
freebsd:
|
||||||
|
cd Make;\
|
||||||
|
ln -sf makedefs.freebsd makedefs;\
|
||||||
|
ln -sf makerules.freebsd makerules
|
||||||
|
$(MAKE)
|
||||||
|
|
||||||
|
|
||||||
irix:
|
irix:
|
||||||
cd Make;\
|
|
||||||
ln -sf makedefs.irix.nonstd makedefs ;\
|
|
||||||
ln -sf makerules.irix makerules
|
|
||||||
make
|
|
||||||
|
|
||||||
irix.std:
|
|
||||||
cd Make;\
|
cd Make;\
|
||||||
ln -sf makedefs.irix.std makedefs ;\
|
ln -sf makedefs.irix.std makedefs ;\
|
||||||
ln -sf makerules.irix makerules
|
ln -sf makerules.irix makerules
|
||||||
make
|
$(MAKE)
|
||||||
|
|
||||||
|
irix.old:
|
||||||
|
cd Make;\
|
||||||
|
ln -sf makedefs.irix.nonstd makedefs ;\
|
||||||
|
ln -sf makerules.irix makerules
|
||||||
|
$(MAKE)
|
||||||
|
|
||||||
help :
|
help :
|
||||||
@echo Usage :
|
@echo Usage :
|
||||||
@echo \ make
|
@echo \ $(MAKE)
|
||||||
@echo \ make linux
|
@echo \ $(MAKE) linux
|
||||||
@echo \ make irix.std
|
@echo \ $(MAKE) irix
|
||||||
@echo \ make irix.nonstd
|
@echo \ $(MAKE) irix.old
|
||||||
@echo \ make depend
|
@echo \ $(MAKE) depend
|
||||||
@echo \ make clean
|
@echo \ $(MAKE) clean
|
||||||
@echo \ make clobber
|
@echo \ $(MAKE) clobber
|
||||||
@echo \ make doc
|
@echo \ $(MAKE) doc
|
||||||
@echo \ make snapshot
|
@echo \ $(MAKE) release
|
||||||
@echo \ make install
|
@echo \ $(MAKE) dev
|
||||||
@echo \ make instlinks
|
@echo \ $(MAKE) install
|
||||||
@echo \ make instclean
|
@echo \ $(MAKE) instlinks
|
||||||
|
@echo \ $(MAKE) instclean
|
||||||
|
|
||||||
|
|
||||||
clean : $(MAKE_PREP)
|
clean : $(MAKE_PREP)
|
||||||
for f in $(DIRS) ; do cd $$f; make clean; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) clean; cd ..; done
|
||||||
find lib -type f -exec rm {} \;
|
find lib -type f -exec rm {} \;
|
||||||
rm -f bin/*
|
rm -f bin/*
|
||||||
|
|
||||||
clobber : $(MAKE_PREP) clean
|
clobber : $(MAKE_PREP) clean
|
||||||
for f in $(DIRS) ; do cd $$f; make clobber; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) clobber; cd ..; done
|
||||||
rm -f $(MAKE_PREP)
|
rm -f $(MAKE_PREP)
|
||||||
|
|
||||||
depend : $(MAKE_PREP)
|
depend : $(MAKE_PREP)
|
||||||
for f in $(DIRS) ; do cd $$f; make depend; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) depend; cd ..; done
|
||||||
|
|
||||||
to_unix :
|
to_unix :
|
||||||
for f in $(DIRS) ; do cd $$f; to_unix Makefile Makefile; cd ..; done
|
for f in $(DIRS) ; do cd $$f; to_unix Makefile Makefile; cd ..; done
|
||||||
for f in $(DIRS) ; do cd $$f; make to_unix; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) to_unix; cd ..; done
|
||||||
cd include/OSG; for f in *.h ; do to_unix $$f $$f; done
|
cd include/osg; for f in * ; do to_unix $$f $$f; done
|
||||||
|
cd include/osgUtil; for f in * ; do to_unix $$f $$f; done
|
||||||
|
cd include/osgGLUT; for f in * ; do to_unix $$f $$f; done
|
||||||
|
|
||||||
snapshot:
|
beautify :
|
||||||
make doc;
|
for f in $(DIRS) ; do cd $$f; $(MAKE) beautify; cd ..; done
|
||||||
make clobber;
|
# cd include/osg; for f in * ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
(cd ..; tar cvf - OpenSceneGraph-0.8 | gzip > osg_src-`date "+%Y%m%d"`.tar.gz)
|
# cd include/osgUtil; for f in * ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
|
# cd include/osgGLUT; for f in * ; do mv $$f $$f.bak; bcpp $$f.bak $$f; rm $$f.bak; done
|
||||||
|
|
||||||
|
release: $(MAKE_PREP)
|
||||||
|
$(MAKE) docs;
|
||||||
|
$(MAKE) clobber;
|
||||||
|
(cd ..; tar cvf - $(VERSION) | gzip > $(VERSION).tar.gz)
|
||||||
|
|
||||||
|
dev: $(MAKE_PREP)
|
||||||
|
$(MAKE) docs;
|
||||||
|
$(MAKE) clobber;
|
||||||
|
(cd ..; tar cvf - $(VERSION) | gzip > osg-`date "+%Y%m%d"`.tar.gz)
|
||||||
|
|
||||||
install :
|
install :
|
||||||
for f in $(DIRS) ; do cd $$f; make install; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) install; cd ..; done
|
||||||
|
|
||||||
instlinks :
|
instlinks :
|
||||||
for f in $(DIRS) ; do cd $$f; make instlinks; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) instlinks; cd ..; done
|
||||||
|
|
||||||
instclean :
|
instclean :
|
||||||
for f in $(DIRS) ; do cd $$f; make instclean; cd ..; done
|
for f in $(DIRS) ; do cd $$f; $(MAKE) instclean; cd ..; done
|
||||||
|
|
||||||
|
instcheck :
|
||||||
|
diff -q include/osg/ /usr/include/osg/
|
||||||
|
diff -q include/osgUtil/ /usr/include/osgUtil/
|
||||||
|
diff -q include/osgDB/ /usr/include/osgDB/
|
||||||
|
diff -q include/osgGLUT/ /usr/include/osgGLUT/
|
||||||
|
diff -q lib/libosg.so /usr/lib/libosg.so
|
||||||
|
diff -q lib/libosgUtil.so /usr/lib/libosgUtil.so
|
||||||
|
diff -q lib/libosgDB.so /usr/lib/libosgDB.so
|
||||||
|
diff -q lib/libosgGLUT.so /usr/lib/libosgGLUT.so
|
||||||
|
diff -q lib/osgPlugins/ /usr/lib/osgPlugins/
|
||||||
|
|
||||||
|
stats :
|
||||||
|
@echo stats :
|
||||||
|
cat include/osg/* src/osg/*.cpp | wc -l
|
||||||
|
cat include/osgUtil/* src/osgUtil/*.cpp | wc -l
|
||||||
|
cat include/osgDB/* src/osgDB/*.cpp | wc -l
|
||||||
|
cat include/osgGLUT/* src/osgGLUT/*.cpp | wc -l
|
||||||
|
cat include/osgWX/* src/osgWX/*.cpp | wc -l
|
||||||
|
cat include/*/* src/*/*.cpp | wc -l
|
||||||
|
cat src/Demos/*/*.cpp | wc -l
|
||||||
|
cat src/osgPlugins/*/*.cpp src/osgPlugins/*/*.h | wc -l
|
||||||
|
cat include/*/* src/*/*.cpp src/Demos/*/*.cpp src/osgPlugins/*/*.cpp src/osgPlugins/*/*.h | wc -l
|
||||||
|
BIN
Metrowerks/OpenSceneGraph.mcp
Normal file
BIN
Metrowerks/OpenSceneGraph.mcp
Normal file
Binary file not shown.
198
NEWS
198
NEWS
@ -1,22 +1,194 @@
|
|||||||
OSG News (most significant items from ChangeLog)
|
OSG News (most significant items from ChangeLog)
|
||||||
================================================
|
================================================
|
||||||
|
|
||||||
|
9th August 2001 - osg-0.8.42.tar.gz
|
||||||
|
|
||||||
6th December 2000 - osg_src-0.8-34.tar.gz
|
>>> New osgWX library for integration of OSG with wxWindows apps.
|
||||||
|
|
||||||
o New osgGLUT library assist writing of osg demos.
|
This release sees a relatively minor number of enhancements over
|
||||||
o New cube demo.
|
0.8.41, the most significant being the new osgWX library and wxsgv
|
||||||
o Improved handling of image sizes which arn't a power of 2.
|
demo written by Ben Discoe.
|
||||||
o Performer plugin can now work as of plugin to Performer or the
|
|
||||||
OSG (with a few caveates:)
|
|
||||||
|
|
||||||
|
Also from Brede Johansen in this release is the improvements in support for older
|
||||||
|
.flt (Open Flight) files such versions 12 & 13. Previously only version
|
||||||
|
15.6 files had been tested and developed to.
|
||||||
|
|
||||||
|
Last but by no means least, several bug fixes related to view frustum
|
||||||
|
culling have been made.
|
||||||
|
|
||||||
|
|
||||||
|
25th July 2001 - osg-0.8.41.tar.gz
|
||||||
|
|
||||||
|
>>> Support added for multi-pass and multi-stage rendering including Impostors.
|
||||||
|
|
||||||
|
The key feature developed is a highly flexible framework for multi-pass and
|
||||||
|
multi-stage rendering techniques. Unlike most scene graphs and games
|
||||||
|
engines the OSG has as dynamic framework which automatically configures
|
||||||
|
itself at runtime.
|
||||||
|
|
||||||
|
Building ontop of the new framework's multi-stage rendering capabilities,
|
||||||
|
support for Impostors (hirachical image caching) has been integrated into
|
||||||
|
the core scene graph library making extremely easy to take advantage of
|
||||||
|
this advanced rendering techinque - normally only seen in research papers.
|
||||||
|
Check out osgimpostor demo to see how easy it is to add osg::Impostor
|
||||||
|
nodes to your own models. Impostors are particularily effective are
|
||||||
|
reducing scene complexity whilest minimizing the visual impact, making it
|
||||||
|
ideal for scenes with large numbers of complex objects such as a city
|
||||||
|
scene, or a dense forest.
|
||||||
|
|
||||||
|
Taking advantage of the new framework's multi-pass rendering capabilities
|
||||||
|
is osgreflect demo which illustrates how to achieve planar relfections
|
||||||
|
using the stencil buffer and multi-pass rendering.
|
||||||
|
|
||||||
|
The cool thing about both the osgreflect and osgimpostor demos is that
|
||||||
|
there is no hardwiring to achieve the results, the scene graph stores
|
||||||
|
all the information neccessary to specify the number and type of rendering
|
||||||
|
passes, and the framework handles the rest behind the scenes. This also
|
||||||
|
makes it very easy to add these advanced rendering techinques to your
|
||||||
|
own applications as everything is cleanly encapsulated with
|
||||||
|
osgUtil::SceneView.
|
||||||
|
|
||||||
|
New loaders have been added to support .lwo (Light Wave), .obj
|
||||||
|
(Alias Wavefront) and .dw (Design Workshop) 3D file formats making it
|
||||||
|
even easier to compose your own worlds from models sourced from the
|
||||||
|
web or your own.
|
||||||
|
|
||||||
|
osg::Camera has been totally revamped and now supports asymetric
|
||||||
|
and othographics projections in addition to the symetrical perspective
|
||||||
|
projections.
|
||||||
|
|
||||||
|
And finally, support for texture subloading has been added to osg::Texture
|
||||||
|
and osg::Image. This allows textures to be updated dynamically, and
|
||||||
|
has already been used for mpeg video playback!
|
||||||
|
|
||||||
|
|
||||||
|
19th May 2001 - osg-0.8.40.tar.gz
|
||||||
|
|
||||||
|
>>> Project lead, Robert Osfield, makes full-time commitment to OSG.
|
||||||
|
|
||||||
|
This is the first full release since project lead, Robert Osfield, made
|
||||||
|
a move to pursue the OSG's development full-time. This commitment has
|
||||||
|
been made to bring the API rapidly towards maturity, and to provide
|
||||||
|
high quality support and consultancy services. Please contact
|
||||||
|
robert@openscenegraph.com if you have any queries.
|
||||||
|
|
||||||
|
This release marks a significant step forward in the maturity of the
|
||||||
|
API, with several major changes to the library in the areas of state
|
||||||
|
handling, database support, and portability.
|
||||||
|
|
||||||
|
To improve the extensibility of the OSG's handling of OpenGL state,
|
||||||
|
new classes have been introduced to replace the previous hardwired
|
||||||
|
state handling classes. The new classes also allow improved state
|
||||||
|
sorting and lazy state updating which boosts both cull traversal
|
||||||
|
and particularly draw traversal performance.
|
||||||
|
|
||||||
|
To improve the modularity, interopability and conceptual clarity the
|
||||||
|
support classes for database loading have been moved from the core
|
||||||
|
osg library into their own osgDB library. Support for the .osg
|
||||||
|
ASCII native database format and the .rgb reader has moved into its own
|
||||||
|
osgPlugins library to further the cleanliness of the core library.
|
||||||
|
|
||||||
|
Support has be added for multiple OpenGL context's and hence multi-pipe
|
||||||
|
systems such as sgi's Onyx2, allowing each context to have its own
|
||||||
|
display list and texture objects.
|
||||||
|
|
||||||
|
The culler and rendering support in osgUtil has also been improved, and
|
||||||
|
significantly speeded up for complex models.
|
||||||
|
|
||||||
|
Also just in, thanks to Randall Hopper for adding support for FreeBSD :-)
|
||||||
|
|
||||||
|
|
||||||
|
23rd March 2001 - osg-0.8.39.tar.gz
|
||||||
|
|
||||||
|
>>> Port of OSG to MacOS underway
|
||||||
|
|
||||||
|
The first steps towards support of MacOS have been taken by Bryan Woods,
|
||||||
|
adding Metrowerks project files and adding support for MacOS into the
|
||||||
|
core scene graph. Work still in progress so assistance welcome to
|
||||||
|
complete the task.
|
||||||
|
|
||||||
|
Other major developments have been the addition of two new base classes
|
||||||
|
osg::StateAttribute and osg::Drawable which are designed to allow greater
|
||||||
|
extensibility of OpenGL state management and primitives.
|
||||||
|
|
||||||
|
|
||||||
|
17th Feburary 2001 - osg-0.8.38.tar.gz
|
||||||
|
|
||||||
|
>>> New 3DS loader added
|
||||||
|
|
||||||
|
The OpenSceneGraph now supports the 3DS file format. This makes
|
||||||
|
available a huge range of potential models. Check out
|
||||||
|
http://www.3dcafe.com or http://www.3drocketfuel.com for some juice.
|
||||||
|
|
||||||
|
10th Feburary 2001 - osg_src-0.8-37.tar.gz
|
||||||
|
|
||||||
|
>>> Texture compression now supported
|
||||||
|
|
||||||
|
The OpenSceneGraph now provides support for ARB and S3TC texture
|
||||||
|
compression. This allows more textures to be loaded onto graphics
|
||||||
|
card memory, resulting in happier users and a better world in which
|
||||||
|
to live.
|
||||||
|
|
||||||
|
This release also sees the addition of a simple hang gliding flight sim
|
||||||
|
demo.
|
||||||
|
|
||||||
|
25th January 2001 - osg_src-0.8-35.tar.gz
|
||||||
|
|
||||||
|
>>> Anisotropic texturing now supported <i>and</i> loading of gzip compressed files
|
||||||
|
|
||||||
|
Anisotropic texturing provides for the next step in quality texturing
|
||||||
|
filtering above tri-linear and is especially effective when viewing
|
||||||
|
texture surfaces at shallow angles.
|
||||||
|
|
||||||
|
Also added in this release is on-the-fly support for loading gzipped
|
||||||
|
(.osgtgz, .tgz) and zipped (.zip) database files. This features allows
|
||||||
|
users to store whole databases (models and textures) in a single
|
||||||
|
tar ball and unpack them automatically on running the osg. This
|
||||||
|
is ideal for browsing the web.
|
||||||
|
|
||||||
22nd December 2000 - osg_src-0.8-33.tar.gz
|
22nd December 2000 - osg_src-0.8-33.tar.gz
|
||||||
|
|
||||||
o Integrated Don's work on adding glVertexArrays etc to osg::GeoSet.
|
>>> Support added for OpenGL vertex arrays, and several key image loaders.
|
||||||
o Incorportated the following image loaders from the simage library.
|
|
||||||
src/osgPlugins/gif
|
Support for OpenGL vertex arrays has been added to improve performance,
|
||||||
/jpeg
|
particularly accelerating PC based graphics.
|
||||||
/pic
|
|
||||||
/tga
|
Also added is support gif, jpeg, pic, tga, tiff image formats via
|
||||||
/tiff
|
dynamic plugins.
|
||||||
|
|
||||||
|
8th Decemeber 2000 - osg_src-0.8-32.tar.gz
|
||||||
|
|
||||||
|
>>> New high resolution, low latency timer class - osg::Timer.
|
||||||
|
|
||||||
|
Real-time graphics relies upon accurate timers for updating physics
|
||||||
|
simulations and managing constant framerates. The OSG now provides
|
||||||
|
osg::Timer which, when supported, takes advantage of hardware timers.
|
||||||
|
|
||||||
|
|
||||||
|
18th November 2000 - osg_src-0.8-29.tar.gz
|
||||||
|
|
||||||
|
>>> Support for detail drawing with osg::PolygonOffset.
|
||||||
|
|
||||||
|
Rendering of polygons which overlay underlying geometry, such
|
||||||
|
as white lines on a runway, can now be achieved utilizing the
|
||||||
|
new osg::PolygonOffset which encapsulates glPolygonOffset to
|
||||||
|
avoid z fighting which otherwise hampers such detailing.
|
||||||
|
|
||||||
|
10th November 2000 - osg_src-0.8-28.tar.gz
|
||||||
|
|
||||||
|
>>> New Open Flight .flt loader!
|
||||||
|
|
||||||
|
Thanks to Brede Johansen submission of .flt loader, the OSG can now
|
||||||
|
read Open Flight .flt databases.
|
||||||
|
|
||||||
|
3rd November 2000 - osg_src-0.8-26.tar.gz
|
||||||
|
|
||||||
|
>>> Driving and Flight modes have been added to viewers.
|
||||||
|
|
||||||
|
osgUtil::DriveManipulator and osgUtil::FlightManipulator have been
|
||||||
|
added to allow the scene graph viewer (sgv) and other viewers to
|
||||||
|
support a drive and flying modes. These modes can be accessed
|
||||||
|
in sgv by pressing '2' and '3' respectively ('1' returns to
|
||||||
|
trackball manipulator). Left mouse button accelerates forward,
|
||||||
|
middle stops motion and right deccelerates.
|
||||||
|
|
||||||
|
185
README
185
README
@ -1,178 +1,13 @@
|
|||||||
The following is a very basic intro of how to get the OSG going under Linux,
|
Welcome to the Open Scene Graph (OSG).
|
||||||
IRIX and Windows. Each intro mentions OpenSceneGraph-Data, it is recommended
|
|
||||||
that you also download it alongside this source distribution.
|
|
||||||
|
|
||||||
The scene graph depends upon Standard C++, STL and OpenGL so you need a C++
|
For compiling the OSG under all platforms (Linux, FreeBSD, IRIX, Windows
|
||||||
compiler up to the task and OpenGL or Mesa installed. The viewer depends upon
|
and Mac) please read INSTALL.
|
||||||
GLUT which you'll need to download and install from the GLUT website. The
|
|
||||||
OSG has it own native ascii file format, and .rgb image reader inbuilt which
|
|
||||||
allows you read the example data with any dependancies othe then C++, STL and
|
|
||||||
OpenGL.
|
|
||||||
|
|
||||||
The OSG also has several plug-ins which support non-native 3d database and
|
For general documentation, distribution contents, and plugin
|
||||||
image formats, several have no dependancies on external libraries (flt,fly,
|
dependancies please read index.html in your prefered browser.
|
||||||
tga & pic), while others (pfb,jpeg,gif,tiff) require other libraries to be
|
index.html also has links to INSTALL, making it easier for Windows
|
||||||
installed to compile them. If you don't already have them installed then
|
users which might find the lack of file extensions on text files awkward.
|
||||||
don't worry, you'll still be able to use the OSG. The core osg library and
|
|
||||||
viewer is designed has been designed to load the plug-ins at run-time only
|
|
||||||
and if they are required to load a specific data set. If you don't need them
|
|
||||||
for your datasets then it won't matter that you havn't been able to compile
|
|
||||||
all the plug-ins. A full list of dependancies and where to download the
|
|
||||||
required libraries are near the bottom of this file.
|
|
||||||
|
|
||||||
If you're comming across the OSG for the first time and want to get started
|
|
||||||
quickly, go right ahead and follow the compilation instructions. You can always
|
|
||||||
later download the libraries which the plug-ins require if you eventually need
|
|
||||||
them.
|
|
||||||
|
|
||||||
If you havn't already checked it out, for a list of distribution contents,
|
|
||||||
contacts and links to documentation check out index.html.
|
|
||||||
|
|
||||||
|
|
||||||
Compiling under Linux :
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
Add the following to your .cshrc :
|
|
||||||
|
|
||||||
setenv OSGHOME <location of OSG root>
|
|
||||||
setenv OSGDATA <location of OSG data root>
|
|
||||||
setenv OSGFILEPATH ./:${OSGDATA}:${OSGDATA}/Images:
|
|
||||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${OSGHOME}/lib
|
|
||||||
setenv PATH ${PATH}:${OSGHOME}/bin
|
|
||||||
|
|
||||||
Or the following if you're using a sh compatible shell :
|
|
||||||
|
|
||||||
export OSGHOME=<location of OSG root>
|
|
||||||
export OSGDATA=<location of OSG data root>
|
|
||||||
export OSGFILEPATH=./:${OSGDATA}:${OSGDATA}/Images:
|
|
||||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${OSGHOME}/lib
|
|
||||||
export PATH=${PATH}:${OSGHOME}/bin
|
|
||||||
|
|
||||||
To compile, from the OSG root directory, type :
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
Note, make should automatically detect linux and copy the
|
|
||||||
Make/makerules.linux and Make/makedefs.linux over the
|
|
||||||
default Make/makerules and Make/makedefs. If autodetection
|
|
||||||
does not work type 'make linux'.
|
|
||||||
|
|
||||||
|
|
||||||
Compiling under IRIX :
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Add the following to your .cshrc :
|
|
||||||
|
|
||||||
setenv OSGHOME <location of OSG root>
|
|
||||||
setenv OSGDATA <location of OSG data root>
|
|
||||||
setenv OSGFILEPATH ./:${OSGDATA}:${OSGDATA}/Images:
|
|
||||||
setenv LD_LIBRARYN32_PATH ${LD_LIBRARYN32_PATH}:${OSGHOME}/lib
|
|
||||||
setenv PATH ${PATH}:$OSGHOME/bin
|
|
||||||
|
|
||||||
Or the following if you're using a sh compatible shell :
|
|
||||||
|
|
||||||
export OSGHOME=<location of OSG root>
|
|
||||||
export OSGDATA=<location of OSG data root>
|
|
||||||
export OSGFILEPATH=./:${OSGDATA}:${OSGDATA}/Images:
|
|
||||||
export LD_LIBRARYN32_PATH=${LD_LIBRARYN32_PATH}:${OSGHOME}/lib
|
|
||||||
export PATH=${PATH}:$OSGHOME/bin
|
|
||||||
|
|
||||||
Since the OSG uses Standard C++ features such as STL it is important
|
|
||||||
to have an up to date version of the MIPSPro compilers. The library
|
|
||||||
has been tested under MIPSPro7.3 & MIPSPro7.2.1, and *may* compile
|
|
||||||
under previous versions but has yet to be tested. It is recommened
|
|
||||||
to use MIPSPro7.3.1.1m.
|
|
||||||
|
|
||||||
To compile, from the OSG root directory, type :
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
Note, make should automatically detect IRIX and copy the
|
|
||||||
Make/makerules.irix and Make/makedefs.irix over the
|
|
||||||
default Make/makerules and Make/makedefs. If autodetection
|
|
||||||
does not work type 'make linux'.
|
|
||||||
|
|
||||||
|
|
||||||
Compiling under Windows :
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
The Microsoft Visual C++ 6.0 workspace file is VisualStudio.dsw located
|
|
||||||
in the VisualStudio\ below the OSG this root directory. The OSG will
|
|
||||||
compile with the basic VisualC++6.0, but its recommended that you use
|
|
||||||
Service Pack 4 to fix MS compiler bugs which affect the OSG.
|
|
||||||
|
|
||||||
To execute the viewer the file path for the .dll's and .exe, both compiled
|
|
||||||
into the OSG's bin directory, need to be setup, such as by adding the PATH
|
|
||||||
to your autoexec.bat, its also useful to add the OSGFILEPATH to your
|
|
||||||
autoexec.bat to help the location of datafiles. For example :
|
|
||||||
|
|
||||||
SET OSGFILEPATH=D:\OpenSceneGraph-Data;D:\OpenSceneGraph-Data\Images
|
|
||||||
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\Oglsdk\lib;D:\OpenSceneGraph-0.8\bin;
|
|
||||||
|
|
||||||
|
|
||||||
Running the viewer
|
|
||||||
------------------
|
|
||||||
To run the viewer demo type (you made need to type rehash first under Unix) :
|
|
||||||
|
|
||||||
sgv dumptruck.osg
|
|
||||||
sgv cow.osg
|
|
||||||
sgv e-s-bike.osg
|
|
||||||
sgv flight_park.fly
|
|
||||||
sgv lz.rgb
|
|
||||||
|
|
||||||
Other run other demos type
|
|
||||||
|
|
||||||
cube
|
|
||||||
|
|
||||||
(Note: the file is picked up by checking the directories pointed to
|
|
||||||
by $OSGFILEPATH)
|
|
||||||
|
|
||||||
|
|
||||||
Plug-in dependancies
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
src/osgPlugins/pfb
|
|
||||||
|
|
||||||
There is Peformer plugin in this distribution for converting from
|
|
||||||
Performer to OSG and from OSG to Performer. This plugin requires
|
|
||||||
Performer to be installed and therefore is not compiled by default.
|
|
||||||
If you have Performer (available under Linux and IRIX) then edit
|
|
||||||
src/osgPlugins/Make to compile under the plugin. Performer can be
|
|
||||||
downloaded from http://sgi.com
|
|
||||||
|
|
||||||
For further information about the Performer plugin please read the
|
|
||||||
src/osgPlugin/pfb/READEME.txt.
|
|
||||||
|
|
||||||
src/osgPlugins/png
|
|
||||||
|
|
||||||
The png plugin depends upon the libpng and zlib (for compression)
|
|
||||||
libraries, if you don't already have it installed, you'll need to
|
|
||||||
download, compile and install it.
|
|
||||||
Project home pages are:
|
|
||||||
http://www.libpng.org/pub/png/libpng.html
|
|
||||||
http://www.info-zip.org/pub/infozip/zlib/
|
|
||||||
|
|
||||||
src/osgPlugins/gif
|
|
||||||
|
|
||||||
The gif plugin depends upon the libungif library, if you don't already
|
|
||||||
have it installed, you'll need to download, compile and install it.
|
|
||||||
Project home page is:
|
|
||||||
http://prtr-13.ucsc.edu/~badger/software/libungif/
|
|
||||||
Ftp download at :
|
|
||||||
ftp://prtr-13.ucsc.edu/pub/libungif/
|
|
||||||
|
|
||||||
|
|
||||||
src/osgPlugins/jpeg
|
|
||||||
|
|
||||||
The jpeg plugin depends upon the libjpeg library, if you don't already
|
|
||||||
have it installed, you'll need to download, compile and install it.
|
|
||||||
Project home page is:
|
|
||||||
http://www.ijg.org
|
|
||||||
|
|
||||||
src/osgPlugins/tiff
|
|
||||||
|
|
||||||
The tiff plugin depends upon the libtiff library, if you don't already
|
|
||||||
have it installed, you'll need to download, compile and install it.
|
|
||||||
Project home page is:
|
|
||||||
http://www.libtiff.org
|
|
||||||
|
|
||||||
|
Robert Osfield.
|
||||||
|
robert@openscenegraph.com
|
||||||
|
May 2001.
|
||||||
|
30
TODO
30
TODO
@ -31,15 +31,13 @@ o Core OSG Library
|
|||||||
. osg::Plane class.
|
. osg::Plane class.
|
||||||
|
|
||||||
- Nodes
|
- Nodes
|
||||||
. create a base class to provide interface to objects which can render,
|
|
||||||
derive osg::GeoSet from this.
|
|
||||||
. add osg::Sequence for basic animation.
|
. add osg::Sequence for basic animation.
|
||||||
. add osg::Morph for interpolating between geometries.
|
. add osg::Morph for interpolating between geometries.
|
||||||
|
. add osg::Engine.
|
||||||
. add support for Multi-texturing into osg::GeoSet/osg::GeoState.
|
. add support for Multi-texturing into osg::GeoSet/osg::GeoState.
|
||||||
. add support for multi-pass rendering.
|
. add support for pixel/vertex shaders into osg::GeoSet/osg::GeoState.
|
||||||
. utilise stl vectors for osg::GeoSets?
|
. utilise stl vectors for osg::GeoSets?
|
||||||
. improve osg::GeoState.
|
. add handling of memory of osg::GeoSet's attributes.
|
||||||
. add osg::State for mainting image of the OpenGL state.
|
|
||||||
. add osg::Terrain node.
|
. add osg::Terrain node.
|
||||||
. add osg::EarthSky class for rendering earth and sky backgrounds.
|
. add osg::EarthSky class for rendering earth and sky backgrounds.
|
||||||
. add proxy node for lazy loading of nodes, when needed.
|
. add proxy node for lazy loading of nodes, when needed.
|
||||||
@ -68,14 +66,10 @@ o Core OSG Library
|
|||||||
o Reader/writer plug-ins
|
o Reader/writer plug-ins
|
||||||
=======================
|
=======================
|
||||||
- .iv/.wrl Inventor/VRML ascii.
|
- .iv/.wrl Inventor/VRML ascii.
|
||||||
- .obj Alias wavefront's format.
|
|
||||||
- .dxf Autocads ascii format.
|
- .dxf Autocads ascii format.
|
||||||
- .3ds 3D Studio format.
|
|
||||||
- .dem digital elevation map.
|
- .dem digital elevation map.
|
||||||
- .d3d? MS's Direct 3D file formats if they have one..
|
- .d3d? MS's Direct 3D file formats if they have one..
|
||||||
- .bmp Windows Bitmap files.
|
- .bmp Windows Bitmap files.
|
||||||
- .gz Automatic unzipping of GNU zipped files.
|
|
||||||
- .zip Automatic unzipping of windows zipped files.
|
|
||||||
- .Z Automatic unzipping of Unix Compress files.
|
- .Z Automatic unzipping of Unix Compress files.
|
||||||
- .tar Automatic unpacking of directories and loading of contents.
|
- .tar Automatic unpacking of directories and loading of contents.
|
||||||
|
|
||||||
@ -95,15 +89,20 @@ o Viewers & Application plug-ins
|
|||||||
o Under development
|
o Under development
|
||||||
=================
|
=================
|
||||||
Sign up here if would like to take on a task :-)
|
Sign up here if would like to take on a task :-)
|
||||||
|
|
||||||
- add osg::Billboard for trees etc.
|
- add osg::Billboard for trees etc.
|
||||||
- .pfb loader for Performer binary files.
|
|
||||||
- full maths support in osg::Matrix class.
|
- full maths support in osg::Matrix class.
|
||||||
- Netscape plug-in.
|
- Netscape plug-in.
|
||||||
- add osg::Channel/sgCamera class.
|
- add osg::Channel/sgCamera class.
|
||||||
- .flt Open Flight format.
|
- .pfb loader for Performer binary files (functioning already.)
|
||||||
|
- .flt Open Flight format (functioning already.)
|
||||||
|
- .3ds 3D Studio format (functioning already.)
|
||||||
- autoconf/configure support to aid portabilty to other unix's.
|
- autoconf/configure support to aid portabilty to other unix's.
|
||||||
- CVS support for when source is made fully public.
|
- CVS support for when source is made fully public.
|
||||||
|
- Mac port.
|
||||||
|
- tri stripping visitor.
|
||||||
|
- .obj Alias wavefront's format.(functioning already.)
|
||||||
|
- .lwo Light Waves's format.(functioning already.)
|
||||||
|
|
||||||
o Work completed
|
o Work completed
|
||||||
==============
|
==============
|
||||||
@ -139,3 +138,10 @@ o Work completed
|
|||||||
- add timing/timestamp class.
|
- add timing/timestamp class.
|
||||||
- document how to get the OSG compiled and running under all
|
- document how to get the OSG compiled and running under all
|
||||||
platforms, Win32 being priority as it's the least obvious.
|
platforms, Win32 being priority as it's the least obvious.
|
||||||
|
- .gz (as osgtgz and .tgz) Automatic unzipping of GNU zipped files.
|
||||||
|
- .zip Automatic unzipping of windows zipped files.
|
||||||
|
- add osg::State for mainting image of the OpenGL state.
|
||||||
|
- improve osg::GeoState -> improved version call osg::StateSet.
|
||||||
|
- create a base class to provide interface to objects which can render,
|
||||||
|
derive osg::GeoSet from this.
|
||||||
|
- add support for multi-pass rendering.
|
||||||
|
147
VisualStudio/Demos/hangglide/hangglide.dsp
Executable file
147
VisualStudio/Demos/hangglide/hangglide.dsp
Executable file
@ -0,0 +1,147 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="hangglide" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=hangglide - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "hangglide.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "hangglide.mak" CFG="hangglide - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "hangglide - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "hangglide - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "hangglide - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/hangglide.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "hangglide - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/hangglided.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "hangglide - Win32 Release"
|
||||||
|
# Name "hangglide - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\Base.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\GliderManipulator.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\hangglide.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\Hat.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\ReaderWriterFLY.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\Sky.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\Tank.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\Terrain.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\Trees.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\Demos\hangglide\GliderManipulator.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\hangglide\Hat.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\hangglide\terrain_data.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ""
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
95
VisualStudio/Demos/osgconv/osgconv.dsp
Executable file
95
VisualStudio/Demos/osgconv/osgconv.dsp
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgconv" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=osgconv - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgconv.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgconv.mak" CFG="osgconv - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgconv - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "osgconv - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgconv - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/osgconv.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgconv - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/osgconvd.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgconv - Win32 Release"
|
||||||
|
# Name "osgconv - Win32 Debug"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\osgconv\osgconv.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Project
|
95
VisualStudio/Demos/osgcube/osgcube.dsp
Executable file
95
VisualStudio/Demos/osgcube/osgcube.dsp
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgcube" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=osgcube - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgcube.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgcube.mak" CFG="osgcube - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgcube - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "osgcube - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgcube - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/osgcube.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgcube - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/osgcubed.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgcube - Win32 Release"
|
||||||
|
# Name "osgcube - Win32 Debug"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\osgcube\osgcube.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Project
|
95
VisualStudio/Demos/osgimpostor/osgimpostor.dsp
Executable file
95
VisualStudio/Demos/osgimpostor/osgimpostor.dsp
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgimpostor" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=osgimpostor - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgimpostor.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgimpostor.mak" CFG="osgimpostor - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgimpostor - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "osgimpostor - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgimpostor - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/osgimpostor.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgimpostor - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/osgimpostord.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgimpostor - Win32 Release"
|
||||||
|
# Name "osgimpostor - Win32 Debug"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\osgimpostor\osgimpostor.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Project
|
95
VisualStudio/Demos/osgreflect/osgreflect.dsp
Executable file
95
VisualStudio/Demos/osgreflect/osgreflect.dsp
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgreflect" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=osgreflect - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgreflect.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgreflect.mak" CFG="osgreflect - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgreflect - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "osgreflect - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgreflect - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/osgreflect.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgreflect - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/osgreflectd.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgreflect - Win32 Release"
|
||||||
|
# Name "osgreflect - Win32 Debug"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\osgreflect\osgreflect.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Project
|
95
VisualStudio/Demos/osgtexture/osgtexture.dsp
Executable file
95
VisualStudio/Demos/osgtexture/osgtexture.dsp
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgtexture" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=osgtexture - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgtexture.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgtexture.mak" CFG="osgtexture - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgtexture - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "osgtexture - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgtexture - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/osgtexture.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgtexture - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/osgtextured.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgtexture - Win32 Release"
|
||||||
|
# Name "osgtexture - Win32 Debug"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\osgtexture\osgtexture.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Project
|
95
VisualStudio/Demos/osgviews/osgviews.dsp
Executable file
95
VisualStudio/Demos/osgviews/osgviews.dsp
Executable file
@ -0,0 +1,95 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgviews" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=osgviews - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgviews.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgviews.mak" CFG="osgviews - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgviews - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "osgviews - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgviews - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 osgGLUT.lib osgUtil.lib osg.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../../bin/osgviews.exe" /libpath:"../../../lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgviews - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgGLUTd.lib osgUtild.lib osgd.lib glut32.lib glu32.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /out:"../../../bin/osgviewsd.exe" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /incremental:no
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgviews - Win32 Release"
|
||||||
|
# Name "osgviews - Win32 Debug"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\osgviews\osgviews.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Project
|
@ -42,7 +42,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
# ADD CPP /nologo /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x809 /d "NDEBUG"
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
@ -66,7 +66,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
# ADD CPP /nologo /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vd0 /GR /GX /ZI /Od /I "../../../include" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "_DEBUG" /D "FL_DLL" /FR /YX /FD /c
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x809 /d "_DEBUG"
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
@ -87,10 +87,9 @@ LINK32=link.exe
|
|||||||
|
|
||||||
SOURCE=..\..\..\src\Demos\sgv\sgv.cpp
|
SOURCE=..\..\..\src\Demos\sgv\sgv.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Target
|
||||||
# Begin Group "Resource Files"
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
# End Group
|
# End Group
|
||||||
# End Target
|
|
||||||
# End Project
|
# End Project
|
||||||
|
147
VisualStudio/Demos/wxsgv/wxsgv.dsp
Normal file
147
VisualStudio/Demos/wxsgv/wxsgv.dsp
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="wxsgv" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||||
|
|
||||||
|
CFG=wxsgv - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "wxsgv.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "wxsgv.mak" CFG="wxsgv - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "wxsgv - Win32 Release" (based on "Win32 (x86) Application")
|
||||||
|
!MESSAGE "wxsgv - Win32 Debug" (based on "Win32 (x86) Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "wxsgv - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "\APIs\wx2\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /YX"wx/wxprec.h" /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||||
|
# ADD LINK32 wx22_7.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib netcdf.lib libpng.lib zlib.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /libpath:"\APIs\libpng-1.0.8" /libpath:"\APIs\netcdf-3.5.0.win32bin\lib"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "wxsgv - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "\APIs\wx2\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FR /YX"wx/wxprec.h" /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 wx22_7d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib netcdf.lib libpng.lib zlib.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmt.lib" /out:"../../../bin/wxsgv.exe" /pdbtype:sept /libpath:"\APIs\libpng-1.0.8" /libpath:"\APIs\netcdf-3.5.0.win32bin\lib"
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "wxsgv - Win32 Release"
|
||||||
|
# Name "wxsgv - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\app.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\canvas.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\frame.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\SceneGraphDlg.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\wxsgv_wdr.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\app.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\canvas.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\frame.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\SceneGraphDlg.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\wxsgv_wdr.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\Demos\wxsgv\wxsgv.rc
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
@ -3,7 +3,7 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Project: "sgv"=".\Demos\sgv\sgv.dsp" - Package Owner=<4>
|
Project: "osg"=".\osg\osg.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
Package=<5>
|
Package=<5>
|
||||||
{{{
|
{{{
|
||||||
@ -11,156 +11,6 @@ Package=<5>
|
|||||||
|
|
||||||
Package=<4>
|
Package=<4>
|
||||||
{{{
|
{{{
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osgUtil
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osgGLUT
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "cube"=".\Demos\cube\cube.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osgUtil
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osgGLUT
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "flt"=".\osgPlugins\flt\flt.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "fly"=".\osgPlugins\fly\fly.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "gif"=".\osgPlugins\gif\gif.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "jpeg"=".\osgPlugins\jpeg\jpeg.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "pic"=".\osgPlugins\pic\pic.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "png"=".\osgPlugins\png\png.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "tga"=".\osgPlugins\tga\tga.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "tiff"=".\osgPlugins\tiff\tiff.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name osg
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -179,6 +29,9 @@ Package=<4>
|
|||||||
Begin Project Dependency
|
Begin Project Dependency
|
||||||
Project_Dep_Name osgUtil
|
Project_Dep_Name osgUtil
|
||||||
End Project Dependency
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -198,7 +51,7 @@ Package=<4>
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Project: "osg"=".\osg\osg.dsp" - Package Owner=<4>
|
Project: "osgDB"=".\osgDB\osgDB.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
Package=<5>
|
Package=<5>
|
||||||
{{{
|
{{{
|
||||||
@ -206,6 +59,492 @@ Package=<5>
|
|||||||
|
|
||||||
Package=<4>
|
Package=<4>
|
||||||
{{{
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgconv"=".\Demos\osgconv\osgconv.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "sgv"=".\Demos\sgv\sgv.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgcube"=".\Demos\osgcube\osgcube.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgimpostor"=".\Demos\osgimpostor\osgimpostor.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgviews"=".\Demos\osgviews\osgviews.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgreflect"=".\Demos\osgreflect\osgreflect.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgtexture"=".\Demos\osgtexture\osgtexture.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "hangglide"=".\Demos\hangglide\hangglide.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgGLUT
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "3ds"=".\osgPlugins\lib3ds\lib3ds.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "flt"=".\osgPlugins\flt\flt.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "lwo"=".\osgPlugins\lwo\lwo.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "dw"=".\osgPlugins\dw\dw.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgUtil
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "obj"=".\osgPlugins\obj\obj.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "gif"=".\osgPlugins\gif\gif.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "jpeg"=".\osgPlugins\jpeg\jpeg.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "osgtgz"=".\osgPlugins\osgtgz\osgtgz.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "pic"=".\osgPlugins\pic\pic.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "png"=".\osgPlugins\png\png.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "tga"=".\osgPlugins\tga\tga.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "dot_osg"=".\osgPlugins\osg\dot_osg.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "rgb"=".\osgPlugins\rgb\rgb.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "tgz"=".\osgPlugins\tgz\tgz.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "tiff"=".\osgPlugins\tiff\tiff.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "zip"=".\osgPlugins\zip\zip.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osg
|
||||||
|
End Project Dependency
|
||||||
|
Begin Project Dependency
|
||||||
|
Project_Dep_Name osgDB
|
||||||
|
End Project Dependency
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -43,14 +43,14 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSCENEGRAPH_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSCENEGRAPH_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SG_LIBRARY" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SG_LIBRARY" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo /o"../../lib/osg.bsc"
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osg.pdb" /machine:I386 /out:"../../bin/osg.dll"
|
# ADD LINK32 opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osg.pdb" /machine:I386 /out:"../../bin/osg.dll"
|
||||||
@ -70,14 +70,14 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSCENEGRAPH_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBSCENEGRAPH_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "SG_LIBRARY" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "SG_LIBRARY" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
# ADD BASE BSC32 /nologo
|
# ADD BASE BSC32 /nologo
|
||||||
# ADD BSC32 /nologo /o"../../lib/osg.bsc"
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgd.pdb" /debug /machine:I386 /out:"../../bin/osgd.dll" /pdbtype:sept
|
# ADD LINK32 opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgd.pdb" /debug /machine:I386 /out:"../../bin/osgd.dll" /pdbtype:sept
|
||||||
@ -94,139 +94,135 @@ LINK32=link.exe
|
|||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\AlphaFunc.cpp
|
SOURCE=..\..\src\osg\AlphaFunc.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Billboard.cpp
|
SOURCE=..\..\src\osg\Billboard.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\BoundingBox.cpp
|
SOURCE=..\..\src\osg\BoundingBox.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\BoundingSphere.cpp
|
SOURCE=..\..\src\osg\BoundingSphere.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Camera.cpp
|
SOURCE=..\..\src\osg\Camera.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\CullFace.cpp
|
SOURCE=..\..\src\osg\ClipPlane.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\DCS.cpp
|
SOURCE=..\..\src\osg\ColorMask.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\DynamicLibrary.cpp
|
SOURCE=..\..\src\osg\CullFace.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\ExtensionSupported.cpp
|
SOURCE=..\..\src\osg\Depth.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Field.cpp
|
SOURCE=..\..\src\osg\Drawable.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\FieldReader.cpp
|
SOURCE=..\..\src\osg\Fog.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\FieldReaderIterator.cpp
|
SOURCE=..\..\Src\Osg\FrontFace.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\FileNameUtils.cpp
|
SOURCE=..\..\src\osg\Geode.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Fog.cpp
|
SOURCE=..\..\src\osg\GeoSet.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Geode.cpp
|
SOURCE=..\..\src\osg\GeoSet_ogl.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\GeoSet.cpp
|
SOURCE=..\..\src\osg\StateSet.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\GeoSet_ogl.cpp
|
SOURCE=..\..\src\osg\GLExtensions.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\GeoState.cpp
|
SOURCE=..\..\src\osg\Group.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Group.cpp
|
SOURCE=..\..\src\osg\Image.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Image.cpp
|
SOURCE=..\..\src\osg\Impostor.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Input.cpp
|
SOURCE=..\..\src\osg\ImpostorSprite.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Light.cpp
|
SOURCE=..\..\src\osg\Light.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\LightSource.cpp
|
SOURCE=..\..\src\osg\LightSource.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Lighting.cpp
|
SOURCE=..\..\src\osg\LineSegment.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\LOD.cpp
|
SOURCE=..\..\src\osg\LOD.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Material.cpp
|
SOURCE=..\..\src\osg\Material.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Matrix.cpp
|
SOURCE=..\..\src\osg\Matrix.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Node.cpp
|
SOURCE=..\..\src\osg\Node.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\NodeVisitor.cpp
|
SOURCE=..\..\src\osg\NodeVisitor.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Notify.cpp
|
SOURCE=..\..\src\osg\Notify.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Object.cpp
|
SOURCE=..\..\src\osg\Object.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\OSG.cpp
|
SOURCE=..\..\src\osg\Point.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Output.cpp
|
SOURCE=..\..\src\osg\PolygonMode.cpp
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Point.cpp
|
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -234,63 +230,51 @@ SOURCE=..\..\src\osg\PolygonOffset.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Quat.cpp
|
SOURCE=..\..\src\osg\Quat.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\ReaderWriterOSG.cpp
|
SOURCE=..\..\src\osg\State.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\ReaderWriterRGB.cpp
|
SOURCE=..\..\src\osg\Stencil.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Registry.cpp
|
SOURCE=..\..\src\osg\Switch.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Scene.cpp
|
SOURCE=..\..\src\osg\TexEnv.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Seg.cpp
|
SOURCE=..\..\src\osg\TexGen.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Sequence.cpp
|
SOURCE=..\..\src\osg\TexMat.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Switch.cpp
|
SOURCE=..\..\src\osg\Texture.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\TexEnv.cpp
|
SOURCE=..\..\src\osg\Timer.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\TexGen.cpp
|
SOURCE=..\..\src\osg\Transform.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\TexMat.cpp
|
SOURCE=..\..\src\osg\Transparency.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Texture.cpp
|
SOURCE=..\..\src\osg\Version.cpp
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Timer.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Version.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Src\Osg\Transparency.cpp
|
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Header Files"
|
# Begin Group "Header Files"
|
||||||
@ -318,15 +302,27 @@ SOURCE=..\..\Include\Osg\Camera
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\ClipPlane
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\ClippingVolume
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\ColorMask
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\CullFace
|
SOURCE=..\..\Include\Osg\CullFace
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Dcs
|
SOURCE=..\..\Include\Osg\Depth
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\DynamicLibrary
|
SOURCE=..\..\Include\Osg\Drawable
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -334,30 +330,14 @@ SOURCE=..\..\Include\Osg\Export
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\ExtensionSupported
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Field
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\FieldReader
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\FieldReaderIterator
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\FileNameUtils
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Fog
|
SOURCE=..\..\Include\Osg\Fog
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\FrontFace
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Geode
|
SOURCE=..\..\Include\Osg\Geode
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -366,7 +346,11 @@ SOURCE=..\..\Include\Osg\GeoSet
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\GeoState
|
SOURCE=..\..\Include\Osg\StateSet
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\Stencil
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -374,6 +358,10 @@ SOURCE=..\..\Include\Osg\Gl
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\GLExtensions
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Group
|
SOURCE=..\..\Include\Osg\Group
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -382,6 +370,14 @@ SOURCE=..\..\Include\Osg\Image
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\Impostor
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\ImpostorSprite
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Input
|
SOURCE=..\..\Include\Osg\Input
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -394,7 +390,7 @@ SOURCE=..\..\Include\Osg\LightSource
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Lighting
|
SOURCE=..\..\Include\Osg\LineSegment
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -410,6 +406,14 @@ SOURCE=..\..\Include\Osg\Matrix
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osg\mem_ptr
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osg\MemoryAdapter
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Node
|
SOURCE=..\..\Include\Osg\Node
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -426,11 +430,7 @@ SOURCE=..\..\Include\Osg\Object
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Osg
|
SOURCE=..\..\Include\Osg\Plane
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Output
|
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -438,6 +438,10 @@ SOURCE=..\..\Include\Osg\Point
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\PolygonMode
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\PolygonOffset
|
SOURCE=..\..\Include\Osg\PolygonOffset
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -446,30 +450,22 @@ SOURCE=..\..\Include\Osg\Quat
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osg\ref_ptr
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Referenced
|
SOURCE=..\..\Include\Osg\Referenced
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Registry
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Scene
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Seg
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Sequence
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\State
|
SOURCE=..\..\Include\Osg\State
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\StateAttribute
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Switch
|
SOURCE=..\..\Include\Osg\Switch
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -494,6 +490,10 @@ SOURCE=..\..\Include\Osg\Timer
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\Osg\Transform
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Transparency
|
SOURCE=..\..\Include\Osg\Transparency
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -510,11 +510,11 @@ SOURCE=..\..\Include\Osg\Vec3
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Version
|
SOURCE=..\..\Include\Osg\Vec4
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\Osg\Vec4
|
SOURCE=..\..\Include\Osg\Version
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Resource Files"
|
# Begin Group "Resource Files"
|
||||||
|
217
VisualStudio/osgDB/osgDB.dsp
Executable file
217
VisualStudio/osgDB/osgDB.dsp
Executable file
@ -0,0 +1,217 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgDB" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=osgDB - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgDB.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgDB.mak" CFG="osgDB - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgDB - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "osgDB - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgDB - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "../../lib"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGDB_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "LIBOSGDB_EXPORTS" /D "OSGDB_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osg.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgDB.pdb" /machine:I386 /out:"../../bin/osgDB.dll" /libpath:"../../lib"
|
||||||
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgDB - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGDB_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "OSGDB_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgDBd.pdb" /debug /machine:I386 /out:"../../bin/osgDBd.dll" /pdbtype:sept /libpath:"../../lib"
|
||||||
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgDB - Win32 Release"
|
||||||
|
# Name "osgDB - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\DotOsgWrapper.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\DynamicLibrary.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\Field.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\FieldReader.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\FieldReaderIterator.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\FileNameUtils.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\FileUtils.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\Input.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\Output.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\ReadFile.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\Registry.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\Version.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgDB\WriteFile.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\DotOsgWrapper
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\DynamicLibrary
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\Export
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\Field
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\FieldReader
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\FieldReaderIterator
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\FileNameUtils
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgDB\FileUtils
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\Input
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\Output
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgDB\ReaderWriter
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\ReadFile
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\Registry
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\Version
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgDB\WriteFile
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGGLUT_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGGLUT_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /vd1 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "LIBOSGGLUT_EXPORTS" /D "OSGGLUT_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "LIBOSGGLUT_EXPORTS" /D "OSGGLUT_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osgUtil.lib osg.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgGLUT.pdb" /machine:I386 /out:"../../bin/osgGLUT.dll" /libpath:"../../lib"
|
# ADD LINK32 osgUtil.lib osgDB.lib osg.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgGLUT.pdb" /machine:I386 /out:"../../bin/osgGLUT.dll" /libpath:"../../lib"
|
||||||
# SUBTRACT LINK32 /pdb:none
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "osgGLUT - Win32 Debug"
|
!ELSEIF "$(CFG)" == "osgGLUT - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGGLUT_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGGLUT_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "OSGGLUT_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "OSGGLUT_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgUtild.lib osgd.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgGLUTd.pdb" /debug /machine:I386 /out:"../../bin/osgGLUTd.dll" /pdbtype:sept /libpath:"../../lib"
|
# ADD LINK32 osgUtild.lib osgDBd.lib osgd.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgGLUTd.pdb" /debug /machine:I386 /out:"../../bin/osgGLUTd.dll" /pdbtype:sept /libpath:"../../lib"
|
||||||
# SUBTRACT LINK32 /pdb:none
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
@ -98,33 +98,32 @@ SOURCE=..\..\Src\osgGLUT\GLUTEventAdapter.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgGLUT\Viewer.cpp
|
SOURCE=..\..\Src\osgGLUT\Version.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgGLUT\Version.cpp
|
SOURCE=..\..\Src\osgGLUT\Viewer.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
|
|
||||||
# Begin Group "Header Files"
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgGLUT\GLUTEventAdapter
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgGLUT\Viewer
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgGLUT\Export
|
SOURCE=..\..\Include\osgGLUT\Export
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgGLUT\GLUTEventAdapter
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgGLUT\Version
|
SOURCE=..\..\Include\osgGLUT\Version
|
||||||
# End Source File
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgGLUT\Viewer
|
||||||
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Resource Files"
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
@ -132,4 +131,3 @@ SOURCE=..\..\Include\osgGLUT\Version
|
|||||||
# End Group
|
# End Group
|
||||||
# End Target
|
# End Target
|
||||||
# End Project
|
# End Project
|
||||||
|
|
||||||
|
114
VisualStudio/osgPlugins/dw/dw.dsp
Normal file
114
VisualStudio/osgPlugins/dw/dw.dsp
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="dw" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=dw - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "dw.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "dw.mak" CFG="dw - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "dw - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "dw - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "dw - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "dw_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "dw_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osgUtil.lib osg.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_dw.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "dw - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "dw_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DW_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgDBd.lib osgUtild.lib osgd.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_dwd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "dw - Win32 Release"
|
||||||
|
# Name "dw - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\dw\ReaderWriterDW.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ""
|
||||||
|
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Header Files No. 1"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ""
|
||||||
|
# End Group
|
||||||
|
# End Project
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_LIBRARY" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_LIBRARY" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x414 /d "NDEBUG"
|
# ADD BASE RSC /l 0x414 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"../../../bin/osgdb_flt.dll" /libpath:"../../../lib"
|
# ADD LINK32 osg.lib osgDB.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"../../../bin/osgdb_flt.dll" /libpath:"../../../lib"
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "flt - Win32 Debug"
|
!ELSEIF "$(CFG)" == "flt - Win32 Debug"
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_LIBRARY" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FLT_LIBRARY" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x414 /d "_DEBUG"
|
# ADD BASE RSC /l 0x414 /d "_DEBUG"
|
||||||
@ -79,7 +79,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib glut32.lib glu32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../../bin/osgdb_fltd.pdb" /debug /machine:I386 /out:"../../../bin/osgdb_fltd.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgd.lib osgDBd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../../bin/osgdb_fltd.pdb" /debug /machine:I386 /out:"../../../bin/osgdb_fltd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /pdb:none /incremental:no
|
# SUBTRACT LINK32 /pdb:none /incremental:no
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
@ -185,6 +185,10 @@ SOURCE=..\..\..\src\osgPlugins\flt\ObjectRecord.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\flt\OldMaterialPaletteRecord.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\src\osgPlugins\flt\OldVertexRecords.cpp
|
SOURCE=..\..\..\src\osgPlugins\flt\OldVertexRecords.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -257,10 +261,6 @@ SOURCE=..\..\..\src\osgPlugins\flt\DofRecord.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\src\osgPlugins\flt\export.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\..\src\osgPlugins\flt\ExtensionRecord.h
|
SOURCE=..\..\..\src\osgPlugins\flt\ExtensionRecord.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -337,6 +337,10 @@ SOURCE=..\..\..\src\osgPlugins\flt\ObjectRecord.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\flt\OldMaterialPaletteRecord.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\src\osgPlugins\flt\OldVertexRecords.h
|
SOURCE=..\..\..\src\osgPlugins\flt\OldVertexRecords.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "gif_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "gif_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "gif_EXPORTS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "gif_EXPORTS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib /NODEFAULTLIB:LIBC ungif.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/osgdb_gif.dll" /libpath:"../../../lib"
|
# ADD LINK32 osgDB.lib osg.lib ungif.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_gif.dll" /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "gif - Win32 Debug"
|
!ELSEIF "$(CFG)" == "gif - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "gif_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "gif_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "GIF_EXPORTS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "GIF_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib /NODEFAULTLIB:LIBC ungif.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/osgdb_gifd.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgd.lib ungif.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_gifd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "jpeg_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "jpeg_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "jpeg_EXPORTS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "jpeg_EXPORTS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib /NODEFAULTLIB:LIBC jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/osgdb_jpeg.dll" /libpath:"../../../lib"
|
# ADD LINK32 osgDB.lib osg.lib libjpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_jpeg.dll" /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "jpeg - Win32 Debug"
|
!ELSEIF "$(CFG)" == "jpeg - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "jpeg_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "jpeg_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JPEG_EXPORTS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JPEG_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib /NODEFAULTLIB:LIBC jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/osgdb_jpegd.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgDBd.lib osgd.lib libjpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_jpegd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
269
VisualStudio/osgPlugins/lib3ds/lib3ds.dsp
Normal file
269
VisualStudio/osgPlugins/lib3ds/lib3ds.dsp
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="3ds" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=3ds - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "lib3ds.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "lib3ds.mak" CFG="3ds - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "3ds - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "3ds - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "3ds - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "3ds_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /I "../../../src/osgPlugins/lib3ds" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "3ds_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_3ds.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "3ds - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "3ds_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /I "../../../src/osgPlugins/lib3ds" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "3DS_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_3dsd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "3ds - Win32 Release"
|
||||||
|
# Name "3ds - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\atmosphere.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\background.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Camera.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Chunk.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Ease.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\File.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Lib3ds_float.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Light.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Material.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Matrix.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Mesh.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Node.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Quat.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\ReaderWriter3DS.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\readwrite.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Shadow.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Tcb.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Tracks.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Vector.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Viewport.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\atmosphere.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\background.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Camera.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Chunk.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\chunktable.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Ease.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\File.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Lib3ds_float.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Light.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Material.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Matrix.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Mesh.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Node.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Quat.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\readwrite.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Shadow.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Tcb.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Tracks.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Types.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Vector.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Lib3ds\Viewport.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
121
VisualStudio/osgPlugins/lwo/lwo.dsp
Normal file
121
VisualStudio/osgPlugins/lwo/lwo.dsp
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="lwo" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=lwo - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "lwo.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "lwo.mak" CFG="lwo - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "lwo - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "lwo - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "lwo - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "lwo_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "lwo_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osgUtil.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_lwo.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "lwo - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "lwo_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LWO_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgDBd.lib osgUtild.lib osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_lwod.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "lwo - Win32 Release"
|
||||||
|
# Name "lwo - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\lwo\lw.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\lwo\ReaderWriterLWO.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ""
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\lwo\lw.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# Begin Group "Header Files No. 1"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ""
|
||||||
|
# End Group
|
||||||
|
# End Project
|
117
VisualStudio/osgPlugins/obj/obj.dsp
Normal file
117
VisualStudio/osgPlugins/obj/obj.dsp
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="obj" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=obj - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "obj.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "obj.mak" CFG="obj - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "obj - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "obj - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "obj - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "obj_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "obj_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_obj.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "obj - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "obj_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OBJ_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_objd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "obj - Win32 Release"
|
||||||
|
# Name "obj - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\obj\ReaderWriterOBJ.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\obj\glm.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\obj\glm.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
241
VisualStudio/osgPlugins/osg/dot_osg.dsp
Executable file
241
VisualStudio/osgPlugins/osg/dot_osg.dsp
Executable file
@ -0,0 +1,241 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="dot_osg" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=dot_osg - Win32 Release
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "dot_osg.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "dot_osg.mak" CFG="dot_osg - Win32 Release"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "dot_osg - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "dot_osg - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "dot_osg - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "osg_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "osg_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_osg.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "dot_osg - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "osg_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OSG_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_osgd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "dot_osg - Win32 Release"
|
||||||
|
# Name "dot_osg - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\AlphaFunc.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Billboard.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\ColorMask.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\ClipPlane.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\CullFace.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Depth.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Drawable.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Fog.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\FrontFace.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Geode.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\GeoSet.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\StateSet.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Group.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Image.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Impostor.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Light.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\LightSource.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\LOD.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Material.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Matrix.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Node.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Object.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Point.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\PolygonMode.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\PolygonOffset.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\osg\ReaderWriterOSG.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Switch.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Stencil.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\TexEnv.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\TexGen.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\TexMat.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Texture.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Transform.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\Src\osgPlugins\Osg\Transparency.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
109
VisualStudio/osgPlugins/osgtgz/osgtgz.dsp
Normal file
109
VisualStudio/osgPlugins/osgtgz/osgtgz.dsp
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgtgz" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=osgtgz - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgtgz.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgtgz.mak" CFG="osgtgz - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgtgz - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "osgtgz - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgtgz - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "osgtgz_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "osgtgz_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_osgtgz.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgtgz - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "osgtgz_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OSGTGZ_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_osgtgzd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgtgz - Win32 Release"
|
||||||
|
# Name "osgtgz - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\osgtgz\ReaderWriterOSGTGZ.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "pic_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "pic_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "pic_EXPORTS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "pic_EXPORTS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib /NODEFAULTLIB:LIBC kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/osgdb_pic.dll" /libpath:"../../../lib"
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_pic.dll" /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "pic - Win32 Debug"
|
!ELSEIF "$(CFG)" == "pic - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "pic_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "pic_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PIC_EXPORTS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PIC_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib /NODEFAULTLIB:LIBC kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/osgdb_picd.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_picd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "png_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "png_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "png_EXPORTS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "png_EXPORTS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib /NODEFAULTLIB:LIBC libpng.lib zlibstat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/osgdb_png.dll" /libpath:"../../../lib"
|
# ADD LINK32 osgDB.lib osg.lib libpng.lib zlibstat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_png.dll" /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "png - Win32 Debug"
|
!ELSEIF "$(CFG)" == "png - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "png_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "png_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PNG_EXPORTS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PNG_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib /NODEFAULTLIB:LIBC libpng.lib zlibstat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/osgdb_pngd.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgd.lib libpng.lib zlibstat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_pngd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
109
VisualStudio/osgPlugins/rgb/rgb.dsp
Normal file
109
VisualStudio/osgPlugins/rgb/rgb.dsp
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="rgb" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=rgb - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "rgb.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "rgb.mak" CFG="rgb - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "rgb - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "rgb - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "rgb - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "rgb_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "rgb_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_rgb.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "rgb - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "rgb_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "RGB_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_rgbd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "rgb - Win32 Release"
|
||||||
|
# Name "rgb - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\rgb\ReaderWriterRGB.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tga_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tga_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tga_EXPORTS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tga_EXPORTS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib /NODEFAULTLIB:LIBC kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/osgdb_tga.dll" /libpath:"../../../lib"
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_tga.dll" /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "tga - Win32 Debug"
|
!ELSEIF "$(CFG)" == "tga - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tga_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tga_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TGA_EXPORTS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TGA_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib /NODEFAULTLIB:LIBC kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/osgdb_tgad.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_tgad.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
109
VisualStudio/osgPlugins/tgz/tgz.dsp
Normal file
109
VisualStudio/osgPlugins/tgz/tgz.dsp
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="tgz" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=tgz - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "tgz.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "tgz.mak" CFG="tgz - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "tgz - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "tgz - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "tgz - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tgz_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tgz_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_tgz.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "tgz - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tgz_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TGZ_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_tgzd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "tgz - Win32 Release"
|
||||||
|
# Name "tgz - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\tgz\ReaderWriterTGZ.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tiff_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tiff_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tiff_EXPORTS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tiff_EXPORTS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
# ADD LINK32 osg.lib /NODEFAULTLIB:LIBC tiff.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/osgdb_tiff.dll" /libpath:"../../../lib"
|
# ADD LINK32 osgDB.lib osg.lib libtiff.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_tiff.dll" /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "tiff - Win32 Debug"
|
!ELSEIF "$(CFG)" == "tiff - Win32 Debug"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tiff_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "tiff_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TIFF_EXPORTS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TIFF_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -80,8 +80,8 @@ BSC32=bscmake.exe
|
|||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
# ADD LINK32 osgd.lib /NODEFAULTLIB:LIBC tiff.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/osgdb_tiffd.dll" /pdbtype:sept /libpath:"../../../lib"
|
# ADD LINK32 osgDBd.lib osgd.lib libtiff.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_tiffd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
# SUBTRACT LINK32 /nodefaultlib
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
|
109
VisualStudio/osgPlugins/zip/zip.dsp
Normal file
109
VisualStudio/osgPlugins/zip/zip.dsp
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="zip" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=zip - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "zip.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "zip.mak" CFG="zip - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "zip - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "zip - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "zip - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "zip_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "zip_EXPORTS" /YX /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 osgDB.lib osg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_zip.dll" /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "zip - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "zip_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZIP_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 osgd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../../../bin/osgdb_zipd.dll" /pdbtype:sept /libpath:"../../../lib"
|
||||||
|
# SUBTRACT LINK32 /nodefaultlib
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "zip - Win32 Release"
|
||||||
|
# Name "zip - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\src\osgPlugins\zip\ReaderWriterZIP.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGUTIL_EXPORTS" /YX /FD /c
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGUTIL_EXPORTS" /YX /FD /c
|
||||||
# ADD CPP /nologo /MT /W3 /vd1 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "LIBOSGUTIL_EXPORTS" /D "OSGUTIL_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "LIBOSGUTIL_EXPORTS" /D "OSGUTIL_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGUTIL_EXPORTS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGUTIL_EXPORTS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "OSGUTIL_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /GZ /c
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "OSGUTIL_LIBRARY" /D "WIN32" /D "_WINDOWS" /YX /FD /GZ /c
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
@ -94,11 +94,31 @@ LINK32=link.exe
|
|||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\CameraManipulator.cpp
|
SOURCE=..\..\src\osgUtil\VisualsRequirementsVisitor.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\DisplayListVisitor.cpp
|
SOURCE=..\..\src\osgUtil\CameraManipulator.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\CullVisitor.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\CullViewState.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\DisplayListVisitor.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\DepthSortedBin.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgUtil\StateSetManipulator.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -110,23 +130,67 @@ SOURCE=..\..\src\osgUtil\FlightManipulator.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\IntersectVisitor.cpp
|
SOURCE=..\..\src\osgUtil\InsertImpostorsVisitor.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\RenderVisitor.cpp
|
SOURCE=..\..\src\osgUtil\IntersectVisitor.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\SceneView.cpp
|
SOURCE=..\..\src\osgUtil\NvTriStripObjects.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\Version.cpp
|
SOURCE=..\..\src\osgUtil\RenderBin.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Src\osgUtil\TrackballManipulator.cpp
|
SOURCE=..\..\src\osgUtil\RenderLeaf.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\RenderGraph.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\RenderStage.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\RenderStageLighting.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\RenderToTextureStage.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\SceneView.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\SceneViewManipulator.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\SmoothingVisitor.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\TrackballManipulator.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\TriStripVisitor.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\Tesselator.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\Version.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Header Files"
|
# Begin Group "Header Files"
|
||||||
@ -134,14 +198,34 @@ SOURCE=..\..\Src\osgUtil\TrackballManipulator.cpp
|
|||||||
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgUtil\VisualsRequirementsVisitor
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgUtil\CameraManipulator
|
SOURCE=..\..\Include\osgUtil\CameraManipulator
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgUtil\CullVisitor
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgUtil\CullViewState
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgUtil\DisplayListVisitor
|
SOURCE=..\..\Include\osgUtil\DisplayListVisitor
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgUtil\DepthSortedBin
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgUtil\StateSetManipulator
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\include\osgUtil\DriveManipulator
|
SOURCE=..\..\include\osgUtil\DriveManipulator
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -162,11 +246,43 @@ SOURCE=..\..\include\osgUtil\GUIEventAdapter
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\GUIEventHandler
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgUtil\IntersectVisitor
|
SOURCE=..\..\Include\osgUtil\IntersectVisitor
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgUtil\RenderVisitor
|
SOURCE=..\..\Include\osgUtil\InsertImpostorsVisitor
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgUtil\NvTriStripObjects.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\RenderBin
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\RenderLeaf
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\RenderGraph
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\RenderStage
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\RenderStageLighting
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\RenderToTextureStage
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
@ -174,12 +290,32 @@ SOURCE=..\..\Include\osgUtil\SceneView
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Include\osgUtil\Version
|
SOURCE=..\..\Include\osgUtil\SceneViewManipulator
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\SmoothingVisitor
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\Statistics
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\Tesselator
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\include\osgUtil\TrackballManipulator
|
SOURCE=..\..\include\osgUtil\TrackballManipulator
|
||||||
# End Source File
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\osgUtil\TriStripVisitor
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgUtil\Version
|
||||||
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Resource Files"
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
125
VisualStudio/osgWX/osgWX.dsp
Normal file
125
VisualStudio/osgWX/osgWX.dsp
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="osgWX" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
||||||
|
CFG=osgWX - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgWX.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "osgWX.mak" CFG="osgWX - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "osgWX - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "osgWX - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "osgWX - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "../../lib"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "../../lib"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGWX_EXPORTS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "LIBOSGWX_EXPORTS" /D "OSGWX_LIBRARY" /D "WIN32" /D "_WINDOWS" /D "__WXMSW__" /YX"wx/wxprec.h" /FD /c
|
||||||
|
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||||
|
# ADD LINK32 wx22_7.lib osgUtil.lib osgDB.lib osg.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgWX.pdb" /machine:I386 /out:"../../bin/osgWX.dll" /libpath:"../../lib"
|
||||||
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "osgWX - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "../../lib"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBOSGWX_EXPORTS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MDd /W3 /Gm /vmg /vd0 /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "OSGWX_LIBRARY" /D "WIN32" /D "_WINDOWS" /D "__WXMSW__" /FR /YX"wx/wxprec.h" /FD /GZ /c
|
||||||
|
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
# ADD BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 wx22_7d.lib osgUtild.lib osgDBd.lib osgd.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:"../../bin/osgWXd.pdb" /debug /machine:I386 /out:"../../bin/osgWXd.dll" /pdbtype:sept /libpath:"../../lib"
|
||||||
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "osgWX - Win32 Release"
|
||||||
|
# Name "osgWX - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Src\osgWX\Version.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\osgWX\WXEventAdapter.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter ";h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgWX\Export
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgWX\Version
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Include\osgWX\wxEventAdapter
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
8
dist/RedHatRPM/osg.spec
vendored
8
dist/RedHatRPM/osg.spec
vendored
@ -1,11 +1,11 @@
|
|||||||
|
|
||||||
Summary: Open Scene Graph
|
Summary: Open Scene Graph
|
||||||
Name: OpenSceneGraph
|
Name: OpenSceneGraph
|
||||||
Version: 0.8
|
Version: 0.8.39
|
||||||
Release: 2
|
Release: 1
|
||||||
Copyright: GLPL
|
Copyright: LGPL
|
||||||
Group: Graphics
|
Group: Graphics
|
||||||
Source: osg-0.8-2.tar.gz
|
Source: osg-0.8.39.tar.gz
|
||||||
URL: http://www.openscenegraph.org
|
URL: http://www.openscenegraph.org
|
||||||
Packager: Robert Osfield
|
Packager: Robert Osfield
|
||||||
|
|
||||||
|
717
doc/Doxyfiles/all_Doxyfile
Normal file
717
doc/Doxyfiles/all_Doxyfile
Normal file
@ -0,0 +1,717 @@
|
|||||||
|
# Doxyfile 1.2.2
|
||||||
|
|
||||||
|
# ==========================================================================
|
||||||
|
# all_Doxyfile will generate doxygen HTML (only) documenation for all
|
||||||
|
# software in the distribution, including plug-ins. Assumptions:
|
||||||
|
#
|
||||||
|
# You have the 'dot' tool and it's on your path
|
||||||
|
# OSGHOME points to the root of your OSG tree on your filesystem
|
||||||
|
#
|
||||||
|
# ==========================================================================
|
||||||
|
|
||||||
|
# This file describes the settings to be used by doxygen for a project
|
||||||
|
#
|
||||||
|
# All text after a hash (#) is considered a comment and will be ignored
|
||||||
|
# The format is:
|
||||||
|
# TAG = value [value, ...]
|
||||||
|
# For lists items can also be appended using:
|
||||||
|
# TAG += value [value, ...]
|
||||||
|
# Values that contain spaces should be placed between quotes (" ")
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
||||||
|
# by quotes) that should identify the project.
|
||||||
|
|
||||||
|
PROJECT_NAME = "Open Scene Graph, Utility Toolkit, and bundled Plug-ins"
|
||||||
|
|
||||||
|
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
||||||
|
# This could be handy for archiving the generated documentation or
|
||||||
|
# if some version control system is used.
|
||||||
|
|
||||||
|
PROJECT_NUMBER =
|
||||||
|
|
||||||
|
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||||
|
# base path where the generated documentation will be put.
|
||||||
|
# If a relative path is entered, it will be relative to the location
|
||||||
|
# where doxygen was started. If left blank the current directory will be used.
|
||||||
|
|
||||||
|
OUTPUT_DIRECTORY = $(OSGHOME)/doc/doxygen
|
||||||
|
|
||||||
|
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
|
||||||
|
# documentation generated by doxygen is written. Doxygen will use this
|
||||||
|
# information to generate all constant output in the proper language.
|
||||||
|
# The default language is English, other supported languages are:
|
||||||
|
# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
|
||||||
|
# Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and
|
||||||
|
# Portuguese.
|
||||||
|
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
|
||||||
|
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
|
||||||
|
# documentation are documented, even if no documentation was available.
|
||||||
|
# Private class members and static file members will be hidden unless
|
||||||
|
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
|
||||||
|
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
|
||||||
|
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
|
||||||
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
|
||||||
|
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||||
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_STATIC = NO
|
||||||
|
|
||||||
|
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
|
||||||
|
# undocumented members of documented classes, files or namespaces.
|
||||||
|
# If set to NO (the default) these members will be included in the
|
||||||
|
# various overviews, but no documentation section is generated.
|
||||||
|
# This option has no effect if EXTRACT_ALL is enabled.
|
||||||
|
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
|
||||||
|
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
|
||||||
|
# undocumented classes that are normally visible in the class hierarchy.
|
||||||
|
# If set to NO (the default) these class will be included in the various
|
||||||
|
# overviews. This option has no effect if EXTRACT_ALL is enabled.
|
||||||
|
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
|
||||||
|
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
|
||||||
|
# include brief member descriptions after the members that are listed in
|
||||||
|
# the file and class documentation (similar to JavaDoc).
|
||||||
|
# Set to NO to disable this.
|
||||||
|
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
|
||||||
|
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
|
||||||
|
# the brief description of a member or function before the detailed description.
|
||||||
|
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
|
||||||
|
# brief descriptions will be completely suppressed.
|
||||||
|
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
|
||||||
|
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
|
||||||
|
# Doxygen will generate a detailed section even if there is only a brief
|
||||||
|
# description.
|
||||||
|
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
|
||||||
|
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
|
||||||
|
# path before files name in the file list and in the header files. If set
|
||||||
|
# to NO the shortest path that makes the file name unique will be used.
|
||||||
|
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
|
||||||
|
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
|
||||||
|
# can be used to strip a user defined part of the path. Stripping is
|
||||||
|
# only done if one of the specified strings matches the left-hand part of
|
||||||
|
# the path. It is allowed to use relative paths in the argument list.
|
||||||
|
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
|
||||||
|
# The INTERNAL_DOCS tag determines if documentation
|
||||||
|
# that is typed after a \internal command is included. If the tag is set
|
||||||
|
# to NO (the default) then the documentation will be excluded.
|
||||||
|
# Set it to YES to include the internal documentation.
|
||||||
|
|
||||||
|
INTERNAL_DOCS = NO
|
||||||
|
|
||||||
|
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
||||||
|
# generate a class diagram (in Html and LaTeX) for classes with base or
|
||||||
|
# super classes. Setting the tag to NO turns the diagrams off.
|
||||||
|
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
|
||||||
|
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
|
||||||
|
# be generated. Documented entities will be cross-referenced with these sources.
|
||||||
|
|
||||||
|
SOURCE_BROWSER = NO
|
||||||
|
|
||||||
|
# Setting the INLINE_SOURCES tag to YES will include the body
|
||||||
|
# of functions and classes directly in the documentation.
|
||||||
|
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
|
||||||
|
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||||
|
# doxygen to hide any special comment blocks from generated source code
|
||||||
|
# fragments. Normal C and C++ comments will always remain visible.
|
||||||
|
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
|
||||||
|
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
|
||||||
|
# file names in lower case letters. If set to YES upper case letters are also
|
||||||
|
# allowed. This is useful if you have classes or files whose names only differ
|
||||||
|
# in case and if your file system supports case sensitive file names. Windows
|
||||||
|
# users are adviced to set this option to NO.
|
||||||
|
|
||||||
|
CASE_SENSE_NAMES = YES
|
||||||
|
|
||||||
|
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
|
||||||
|
# will show members with their full class and namespace scopes in the
|
||||||
|
# documentation. If set to YES the scope will be hidden.
|
||||||
|
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
|
||||||
|
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
|
||||||
|
# will generate a verbatim copy of the header file for each class for
|
||||||
|
# which an include is specified. Set to NO to disable this.
|
||||||
|
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
|
||||||
|
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
|
||||||
|
# will put list of the files that are included by a file in the documentation
|
||||||
|
# of that file.
|
||||||
|
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
|
||||||
|
# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
|
||||||
|
# will interpret the first line (until the first dot) of a JavaDoc-style
|
||||||
|
# comment as the brief description. If set to NO, the Javadoc-style will
|
||||||
|
# behave just like the Qt-style comments.
|
||||||
|
|
||||||
|
JAVADOC_AUTOBRIEF = YES
|
||||||
|
|
||||||
|
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
|
||||||
|
# member inherits the documentation from any documented member that it
|
||||||
|
# reimplements.
|
||||||
|
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
|
||||||
|
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
|
||||||
|
# is inserted in the documentation for inline members.
|
||||||
|
|
||||||
|
INLINE_INFO = YES
|
||||||
|
|
||||||
|
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
|
||||||
|
# will sort the (detailed) documentation of file and class members
|
||||||
|
# alphabetically by member name. If set to NO the members will appear in
|
||||||
|
# declaration order.
|
||||||
|
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
|
||||||
|
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
|
||||||
|
# tag is set to YES, then doxygen will reuse the documentation of the first
|
||||||
|
# member in the group (if any) for the other members of the group. By default
|
||||||
|
# all members of a group must be documented explicitly.
|
||||||
|
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
|
||||||
|
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
|
||||||
|
# Doxygen uses this value to replace tabs by spaces in code fragments.
|
||||||
|
|
||||||
|
TAB_SIZE = 8
|
||||||
|
|
||||||
|
# The ENABLE_SECTIONS tag can be used to enable conditional
|
||||||
|
# documentation sections, marked by \if sectionname ... \endif.
|
||||||
|
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
|
||||||
|
# The GENERATE_TODOLIST tag can be used to enable (YES) or
|
||||||
|
# disable (NO) the todo list. This list is created by putting \todo
|
||||||
|
# commands in the documentation.
|
||||||
|
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
|
||||||
|
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||||
|
# disable (NO) the test list. This list is created by putting \test
|
||||||
|
# commands in the documentation.
|
||||||
|
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
|
||||||
|
# This tag can be used to specify a number of aliases that acts
|
||||||
|
# as commands in the documentation. An alias has the form "name=value".
|
||||||
|
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
|
||||||
|
# put the command \sideeffect (or @sideeffect) in the documentation, which
|
||||||
|
# will result in a user defined paragraph with heading "Side Effects:".
|
||||||
|
# You can put \n's in the value part of an alias to insert newlines.
|
||||||
|
|
||||||
|
ALIASES =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The QUIET tag can be used to turn on/off the messages that are generated
|
||||||
|
# by doxygen. Possible values are YES and NO. If left blank NO is used.
|
||||||
|
|
||||||
|
QUIET = NO
|
||||||
|
|
||||||
|
# The WARNINGS tag can be used to turn on/off the warning messages that are
|
||||||
|
# generated by doxygen. Possible values are YES and NO. If left blank
|
||||||
|
# NO is used.
|
||||||
|
|
||||||
|
WARNINGS = YES
|
||||||
|
|
||||||
|
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
|
||||||
|
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
|
||||||
|
# automatically be disabled.
|
||||||
|
|
||||||
|
WARN_IF_UNDOCUMENTED = YES
|
||||||
|
|
||||||
|
# The WARN_FORMAT tag determines the format of the warning messages that
|
||||||
|
# doxygen can produce. The string should contain the $file, $line, and $text
|
||||||
|
# tags, which will be replaced by the file and line number from which the
|
||||||
|
# warning originated and the warning text.
|
||||||
|
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The INPUT tag can be used to specify the files and/or directories that contain
|
||||||
|
# documented source files. You may enter file names like "myfile.cpp" or
|
||||||
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
|
# with spaces.
|
||||||
|
|
||||||
|
INPUT = $(OSGHOME)
|
||||||
|
|
||||||
|
# If the value of the INPUT tag contains directories, you can use the
|
||||||
|
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
|
# blank all files are included.
|
||||||
|
|
||||||
|
FILE_PATTERNS = */include/* *.h */src/*/*.cpp
|
||||||
|
|
||||||
|
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||||
|
# should be searched for input files as well. Possible values are YES and NO.
|
||||||
|
# If left blank NO is used.
|
||||||
|
|
||||||
|
RECURSIVE = YES
|
||||||
|
|
||||||
|
# The EXCLUDE tag can be used to specify files and/or directories that should
|
||||||
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
|
||||||
|
EXCLUDE =
|
||||||
|
|
||||||
|
# If the value of the INPUT tag contains directories, you can use the
|
||||||
|
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
|
||||||
|
# certain files from those directories.
|
||||||
|
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
|
||||||
|
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||||
|
# directories that contain example code fragments that are included (see
|
||||||
|
# the \include command).
|
||||||
|
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
|
||||||
|
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||||
|
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
|
# blank all files are included.
|
||||||
|
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
|
||||||
|
# The IMAGE_PATH tag can be used to specify one or more files or
|
||||||
|
# directories that contain image that are included in the documentation (see
|
||||||
|
# the \image command).
|
||||||
|
|
||||||
|
IMAGE_PATH =
|
||||||
|
|
||||||
|
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||||
|
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||||
|
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
||||||
|
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
||||||
|
# input file. Doxygen will then use the output that the filter program writes
|
||||||
|
# to standard output.
|
||||||
|
|
||||||
|
INPUT_FILTER =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
|
||||||
|
# of all compounds will be generated. Enable this if the project
|
||||||
|
# contains a lot of classes, structs, unions or interfaces.
|
||||||
|
|
||||||
|
ALPHABETICAL_INDEX = YES
|
||||||
|
|
||||||
|
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
|
||||||
|
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
|
||||||
|
# in which this list will be split (can be a number in the range [1..20])
|
||||||
|
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
|
||||||
|
# In case all classes in a project start with a common prefix, all
|
||||||
|
# classes will be put under the same header in the alphabetical index.
|
||||||
|
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
|
||||||
|
# should be ignored while generating the index headers.
|
||||||
|
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
|
||||||
|
# generate HTML output.
|
||||||
|
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
|
||||||
|
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `html' will be used as the default path.
|
||||||
|
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
|
||||||
|
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||||
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
|
# standard header.
|
||||||
|
|
||||||
|
HTML_HEADER =
|
||||||
|
|
||||||
|
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
|
||||||
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
|
# standard footer.
|
||||||
|
|
||||||
|
HTML_FOOTER = $(OSGHOME)/doc/Doxyfiles/custom_Footer.html
|
||||||
|
|
||||||
|
# The HTML_STYLESHEET tag can be used to specify a user defined cascading
|
||||||
|
# style sheet that is used by each HTML page. It can be used to
|
||||||
|
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
||||||
|
# will generate a default style sheet
|
||||||
|
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
|
||||||
|
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
||||||
|
# files or namespaces will be aligned in HTML using tables. If set to
|
||||||
|
# NO a bullet list will be used.
|
||||||
|
|
||||||
|
HTML_ALIGN_MEMBERS = YES
|
||||||
|
|
||||||
|
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
|
||||||
|
# will be generated that can be used as input for tools like the
|
||||||
|
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
|
||||||
|
# of the generated HTML documentation.
|
||||||
|
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
|
||||||
|
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
||||||
|
# top of each HTML page. The value NO (the default) enables the index and
|
||||||
|
# the value YES disables it.
|
||||||
|
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
|
||||||
|
# generate Latex output.
|
||||||
|
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
|
||||||
|
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `latex' will be used as the default path.
|
||||||
|
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
|
||||||
|
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
|
||||||
|
# LaTeX documents. This may be useful for small projects and may help to
|
||||||
|
# save some trees in general.
|
||||||
|
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
|
||||||
|
# The PAPER_TYPE tag can be used to set the paper type that is used
|
||||||
|
# by the printer. Possible values are: a4, a4wide, letter, legal and
|
||||||
|
# executive. If left blank a4wide will be used.
|
||||||
|
|
||||||
|
PAPER_TYPE = a4wide
|
||||||
|
|
||||||
|
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
|
||||||
|
# packages that should be included in the LaTeX output.
|
||||||
|
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
|
||||||
|
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
|
||||||
|
# the generated latex document. The header should contain everything until
|
||||||
|
# the first chapter. If it is left blank doxygen will generate a
|
||||||
|
# standard header. Notice: only use this tag if you know what you are doing!
|
||||||
|
|
||||||
|
LATEX_HEADER =
|
||||||
|
|
||||||
|
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
|
||||||
|
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
|
||||||
|
# contain links (just like the HTML output) instead of page references
|
||||||
|
# This makes the output suitable for online browsing using a pdf viewer.
|
||||||
|
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
|
||||||
|
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
|
||||||
|
# plain latex in the generated Makefile. Set this option to YES to get a
|
||||||
|
# higher quality PDF documentation.
|
||||||
|
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
|
||||||
|
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
|
||||||
|
# command to the generated LaTeX files. This will instruct LaTeX to keep
|
||||||
|
# running if errors occur, instead of asking the user for help.
|
||||||
|
# This option is also used when generating formulas in HTML.
|
||||||
|
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
|
||||||
|
# The RTF output is optimised for Word 97 and may not look very pretty with
|
||||||
|
# other RTF readers or editors.
|
||||||
|
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
|
||||||
|
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `rtf' will be used as the default path.
|
||||||
|
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
|
||||||
|
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
|
||||||
|
# RTF documents. This may be useful for small projects and may help to
|
||||||
|
# save some trees in general.
|
||||||
|
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
|
||||||
|
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
|
||||||
|
# will contain hyperlink fields. The RTF file will
|
||||||
|
# contain links (just like the HTML output) instead of page references.
|
||||||
|
# This makes the output suitable for online browsing using a WORD or other.
|
||||||
|
# programs which support those fields.
|
||||||
|
# Note: wordpad (write) and others do not support links.
|
||||||
|
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
|
||||||
|
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
||||||
|
# config file, i.e. a series of assigments. You only have to provide
|
||||||
|
# replacements, missing definitions are set to their default value.
|
||||||
|
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
|
||||||
|
# generate man pages
|
||||||
|
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
|
||||||
|
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `man' will be used as the default path.
|
||||||
|
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
|
||||||
|
# The MAN_EXTENSION tag determines the extension that is added to
|
||||||
|
# the generated man pages (default is the subroutine's section .3)
|
||||||
|
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_XML tag is set to YES Doxygen will
|
||||||
|
# generate an XML file that captures the structure of
|
||||||
|
# the code including all documentation. Warning: This feature
|
||||||
|
# is still experimental and very incomplete.
|
||||||
|
|
||||||
|
GENERATE_XML = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
|
||||||
|
# evaluate all C-preprocessor directives found in the sources and include
|
||||||
|
# files.
|
||||||
|
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
|
||||||
|
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
|
||||||
|
# names in the source code. If set to NO (the default) only conditional
|
||||||
|
# compilation will be performed. Macro expansion can be done in a controlled
|
||||||
|
# way by setting EXPAND_ONLY_PREDEF to YES.
|
||||||
|
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
|
||||||
|
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
|
||||||
|
# then the macro expansion is limited to the macros specified with the
|
||||||
|
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
|
||||||
|
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
|
||||||
|
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
|
||||||
|
# in the INCLUDE_PATH (see below) will be search if a #include is found.
|
||||||
|
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
|
||||||
|
# The INCLUDE_PATH tag can be used to specify one or more directories that
|
||||||
|
# contain include files that are not input files but should be processed by
|
||||||
|
# the preprocessor.
|
||||||
|
|
||||||
|
INCLUDE_PATH =
|
||||||
|
|
||||||
|
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
|
||||||
|
# patterns (like *.h and *.hpp) to filter out the header-files in the
|
||||||
|
# directories. If left blank, the patterns specified with FILE_PATTERNS will
|
||||||
|
# be used.
|
||||||
|
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
|
||||||
|
# The PREDEFINED tag can be used to specify one or more macro names that
|
||||||
|
# are defined before the preprocessor is started (similar to the -D option of
|
||||||
|
# gcc). The argument of the tag is a list of macros of the form: name
|
||||||
|
# or name=definition (no spaces). If the definition and the = are
|
||||||
|
# omitted =1 is assumed.
|
||||||
|
|
||||||
|
PREDEFINED =
|
||||||
|
|
||||||
|
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
|
||||||
|
# this tag can be used to specify a list of macro names that should be expanded.
|
||||||
|
# The macro definition that is found in the sources will be used.
|
||||||
|
# Use the PREDEFINED tag if you want to use a different macro definition.
|
||||||
|
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The TAGFILES tag can be used to specify one or more tagfiles.
|
||||||
|
|
||||||
|
TAGFILES =
|
||||||
|
|
||||||
|
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
|
||||||
|
# a tag file that is based on the input files it reads.
|
||||||
|
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
|
||||||
|
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
|
||||||
|
# in the class index. If set to NO only the inherited external classes
|
||||||
|
# will be listed.
|
||||||
|
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
|
||||||
|
# The PERL_PATH should be the absolute path and name of the perl script
|
||||||
|
# interpreter (i.e. the result of `which perl').
|
||||||
|
|
||||||
|
PERL_PATH = /usr/bin/perl
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
|
||||||
|
# available from the path. This tool is part of Graphviz, a graph visualization
|
||||||
|
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
|
||||||
|
# have no effect if this option is set to NO (the default)
|
||||||
|
|
||||||
|
HAVE_DOT = YES
|
||||||
|
|
||||||
|
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will generate a graph for each documented class showing the direct and
|
||||||
|
# indirect inheritance relations. Setting this tag to YES will force the
|
||||||
|
# the CLASS_DIAGRAMS tag to NO.
|
||||||
|
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
|
||||||
|
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will generate a graph for each documented class showing the direct and
|
||||||
|
# indirect implementation dependencies (inheritance, containment, and
|
||||||
|
# class references variables) of the class with other documented classes.
|
||||||
|
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
|
||||||
|
# YES then doxygen will generate a graph for each documented file showing
|
||||||
|
# the direct and indirect include dependencies of the file with other
|
||||||
|
# documented files.
|
||||||
|
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
|
||||||
|
# YES then doxygen will generate a graph for each documented header file showing
|
||||||
|
# the documented files that directly or indirectly include this file
|
||||||
|
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
|
||||||
|
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will graphical hierarchy of all classes instead of a textual one.
|
||||||
|
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
||||||
|
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
||||||
|
# found. If left blank, it is assumed the dot tool can be found on the path.
|
||||||
|
|
||||||
|
DOT_PATH =
|
||||||
|
|
||||||
|
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
|
||||||
|
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||||
|
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||||
|
# the specified constraint. Beware that most browsers cannot cope with very
|
||||||
|
# large images.
|
||||||
|
|
||||||
|
MAX_DOT_GRAPH_WIDTH = 1024
|
||||||
|
|
||||||
|
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
|
||||||
|
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||||
|
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||||
|
# the specified constraint. Beware that most browsers cannot cope with very
|
||||||
|
# large images.
|
||||||
|
|
||||||
|
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to the search engine
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The SEARCHENGINE tag specifies whether or not a search engine should be
|
||||||
|
# used. If set to NO the values of all tags below this one will be ignored.
|
||||||
|
|
||||||
|
SEARCHENGINE = NO
|
||||||
|
|
||||||
|
# The CGI_NAME tag should be the name of the CGI script that
|
||||||
|
# starts the search engine (doxysearch) with the correct parameters.
|
||||||
|
# A script with this name will be generated by doxygen.
|
||||||
|
|
||||||
|
CGI_NAME = search.cgi
|
||||||
|
|
||||||
|
# The CGI_URL tag should be the absolute URL to the directory where the
|
||||||
|
# cgi binaries are located. See the documentation of your http daemon for
|
||||||
|
# details.
|
||||||
|
|
||||||
|
CGI_URL =
|
||||||
|
|
||||||
|
# The DOC_URL tag should be the absolute URL to the directory where the
|
||||||
|
# documentation is located. If left blank the absolute path to the
|
||||||
|
# documentation, with file:// prepended to it, will be used.
|
||||||
|
|
||||||
|
DOC_URL =
|
||||||
|
|
||||||
|
# The DOC_ABSPATH tag should be the absolute path to the directory where the
|
||||||
|
# documentation is located. If left blank the directory on the local machine
|
||||||
|
# will be used.
|
||||||
|
|
||||||
|
DOC_ABSPATH =
|
||||||
|
|
||||||
|
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
|
||||||
|
# is installed.
|
||||||
|
|
||||||
|
BIN_ABSPATH = /usr/local/bin/
|
||||||
|
|
||||||
|
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
|
||||||
|
# documentation generated for other projects. This allows doxysearch to search
|
||||||
|
# the documentation for these projects as well.
|
||||||
|
|
||||||
|
EXT_DOC_PATHS =
|
775
doc/Doxyfiles/auto_Doxyfile
Normal file
775
doc/Doxyfiles/auto_Doxyfile
Normal file
@ -0,0 +1,775 @@
|
|||||||
|
# Doxyfile 1.2.5
|
||||||
|
|
||||||
|
# ==========================================================================
|
||||||
|
# auto_Doxyfile has been written for use by a script that will, upon
|
||||||
|
# release of a new OSG snapshot, automatically generate doxygen tarballs
|
||||||
|
# and update the online documentation on the web. It relies on various
|
||||||
|
# non-(OSG)standard environment variables being set, and is not really
|
||||||
|
# designed for normal shell-based usage. Assumptions:
|
||||||
|
#
|
||||||
|
# OSGHOME points to the root of the OSG tree on your filesystem
|
||||||
|
# OSGVERSION is set to the OSG's version number
|
||||||
|
# 'dot' is installed
|
||||||
|
#
|
||||||
|
# ==========================================================================
|
||||||
|
|
||||||
|
# This file describes the settings to be used by doxygen for a project
|
||||||
|
#
|
||||||
|
# All text after a hash (#) is considered a comment and will be ignored
|
||||||
|
# The format is:
|
||||||
|
# TAG = value [value, ...]
|
||||||
|
# For lists items can also be appended using:
|
||||||
|
# TAG += value [value, ...]
|
||||||
|
# Values that contain spaces should be placed between quotes (" ")
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
||||||
|
# by quotes) that should identify the project.
|
||||||
|
|
||||||
|
PROJECT_NAME = "Open Scene Graph & Utility Toolkit"
|
||||||
|
|
||||||
|
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
||||||
|
# This could be handy for archiving the generated documentation or
|
||||||
|
# if some version control system is used.
|
||||||
|
|
||||||
|
PROJECT_NUMBER = $(OSGVERSION)
|
||||||
|
|
||||||
|
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||||
|
# base path where the generated documentation will be put.
|
||||||
|
# If a relative path is entered, it will be relative to the location
|
||||||
|
# where doxygen was started. If left blank the current directory will be used.
|
||||||
|
|
||||||
|
OUTPUT_DIRECTORY = $(OSGHOME)/doc/osg-doxygen-$(OSGVERSION)
|
||||||
|
|
||||||
|
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
|
||||||
|
# documentation generated by doxygen is written. Doxygen will use this
|
||||||
|
# information to generate all constant output in the proper language.
|
||||||
|
# The default language is English, other supported languages are:
|
||||||
|
# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
|
||||||
|
# Korean, Hungarian, Norwegian, Spanish, Romanian, Russian, Croatian,
|
||||||
|
# Polish, Portuguese and Slovene.
|
||||||
|
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
|
||||||
|
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
|
||||||
|
# documentation are documented, even if no documentation was available.
|
||||||
|
# Private class members and static file members will be hidden unless
|
||||||
|
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
|
||||||
|
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
|
||||||
|
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
|
||||||
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
|
||||||
|
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||||
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_STATIC = NO
|
||||||
|
|
||||||
|
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
|
||||||
|
# undocumented members of documented classes, files or namespaces.
|
||||||
|
# If set to NO (the default) these members will be included in the
|
||||||
|
# various overviews, but no documentation section is generated.
|
||||||
|
# This option has no effect if EXTRACT_ALL is enabled.
|
||||||
|
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
|
||||||
|
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
|
||||||
|
# undocumented classes that are normally visible in the class hierarchy.
|
||||||
|
# If set to NO (the default) these class will be included in the various
|
||||||
|
# overviews. This option has no effect if EXTRACT_ALL is enabled.
|
||||||
|
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
|
||||||
|
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
|
||||||
|
# include brief member descriptions after the members that are listed in
|
||||||
|
# the file and class documentation (similar to JavaDoc).
|
||||||
|
# Set to NO to disable this.
|
||||||
|
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
|
||||||
|
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
|
||||||
|
# the brief description of a member or function before the detailed description.
|
||||||
|
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
|
||||||
|
# brief descriptions will be completely suppressed.
|
||||||
|
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
|
||||||
|
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
|
||||||
|
# Doxygen will generate a detailed section even if there is only a brief
|
||||||
|
# description.
|
||||||
|
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
|
||||||
|
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
|
||||||
|
# path before files name in the file list and in the header files. If set
|
||||||
|
# to NO the shortest path that makes the file name unique will be used.
|
||||||
|
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
|
||||||
|
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
|
||||||
|
# can be used to strip a user defined part of the path. Stripping is
|
||||||
|
# only done if one of the specified strings matches the left-hand part of
|
||||||
|
# the path. It is allowed to use relative paths in the argument list.
|
||||||
|
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
|
||||||
|
# The INTERNAL_DOCS tag determines if documentation
|
||||||
|
# that is typed after a \internal command is included. If the tag is set
|
||||||
|
# to NO (the default) then the documentation will be excluded.
|
||||||
|
# Set it to YES to include the internal documentation.
|
||||||
|
|
||||||
|
INTERNAL_DOCS = NO
|
||||||
|
|
||||||
|
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
||||||
|
# generate a class diagram (in Html and LaTeX) for classes with base or
|
||||||
|
# super classes. Setting the tag to NO turns the diagrams off.
|
||||||
|
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
|
||||||
|
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
|
||||||
|
# be generated. Documented entities will be cross-referenced with these sources.
|
||||||
|
|
||||||
|
SOURCE_BROWSER = NO
|
||||||
|
|
||||||
|
# Setting the INLINE_SOURCES tag to YES will include the body
|
||||||
|
# of functions and classes directly in the documentation.
|
||||||
|
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
|
||||||
|
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||||
|
# doxygen to hide any special comment blocks from generated source code
|
||||||
|
# fragments. Normal C and C++ comments will always remain visible.
|
||||||
|
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
|
||||||
|
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
|
||||||
|
# file names in lower case letters. If set to YES upper case letters are also
|
||||||
|
# allowed. This is useful if you have classes or files whose names only differ
|
||||||
|
# in case and if your file system supports case sensitive file names. Windows
|
||||||
|
# users are adviced to set this option to NO.
|
||||||
|
|
||||||
|
CASE_SENSE_NAMES = YES
|
||||||
|
|
||||||
|
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
|
||||||
|
# will show members with their full class and namespace scopes in the
|
||||||
|
# documentation. If set to YES the scope will be hidden.
|
||||||
|
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
|
||||||
|
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
|
||||||
|
# will generate a verbatim copy of the header file for each class for
|
||||||
|
# which an include is specified. Set to NO to disable this.
|
||||||
|
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
|
||||||
|
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
|
||||||
|
# will put list of the files that are included by a file in the documentation
|
||||||
|
# of that file.
|
||||||
|
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
|
||||||
|
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
|
||||||
|
# will interpret the first line (until the first dot) of a JavaDoc-style
|
||||||
|
# comment as the brief description. If set to NO, the JavaDoc
|
||||||
|
# comments will behave just like the Qt-style comments (thus requiring an
|
||||||
|
# explict @brief command for a brief description.
|
||||||
|
|
||||||
|
JAVADOC_AUTOBRIEF = YES
|
||||||
|
|
||||||
|
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
|
||||||
|
# member inherits the documentation from any documented member that it
|
||||||
|
# reimplements.
|
||||||
|
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
|
||||||
|
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
|
||||||
|
# is inserted in the documentation for inline members.
|
||||||
|
|
||||||
|
INLINE_INFO = YES
|
||||||
|
|
||||||
|
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
|
||||||
|
# will sort the (detailed) documentation of file and class members
|
||||||
|
# alphabetically by member name. If set to NO the members will appear in
|
||||||
|
# declaration order.
|
||||||
|
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
|
||||||
|
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
|
||||||
|
# tag is set to YES, then doxygen will reuse the documentation of the first
|
||||||
|
# member in the group (if any) for the other members of the group. By default
|
||||||
|
# all members of a group must be documented explicitly.
|
||||||
|
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
|
||||||
|
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
|
||||||
|
# Doxygen uses this value to replace tabs by spaces in code fragments.
|
||||||
|
|
||||||
|
TAB_SIZE = 8
|
||||||
|
|
||||||
|
# The ENABLE_SECTIONS tag can be used to enable conditional
|
||||||
|
# documentation sections, marked by \if sectionname ... \endif.
|
||||||
|
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
|
||||||
|
# The GENERATE_TODOLIST tag can be used to enable (YES) or
|
||||||
|
# disable (NO) the todo list. This list is created by putting \todo
|
||||||
|
# commands in the documentation.
|
||||||
|
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
|
||||||
|
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||||
|
# disable (NO) the test list. This list is created by putting \test
|
||||||
|
# commands in the documentation.
|
||||||
|
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
|
||||||
|
# This tag can be used to specify a number of aliases that acts
|
||||||
|
# as commands in the documentation. An alias has the form "name=value".
|
||||||
|
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
|
||||||
|
# put the command \sideeffect (or @sideeffect) in the documentation, which
|
||||||
|
# will result in a user defined paragraph with heading "Side Effects:".
|
||||||
|
# You can put \n's in the value part of an alias to insert newlines.
|
||||||
|
|
||||||
|
ALIASES =
|
||||||
|
|
||||||
|
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
|
||||||
|
# the initial value of a variable or define consist of for it to appear in
|
||||||
|
# the documentation. If the initializer consists of more lines than specified
|
||||||
|
# here it will be hidden. Use a value of 0 to hide initializers completely.
|
||||||
|
# The appearance of the initializer of individual variables and defines in the
|
||||||
|
# documentation can be controlled using \showinitializer or \hideinitializer
|
||||||
|
# command in the documentation regardless of this setting.
|
||||||
|
|
||||||
|
MAX_INITIALIZER_LINES = 30
|
||||||
|
|
||||||
|
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
|
||||||
|
# only. Doxygen will then generate output that is more tailored for C.
|
||||||
|
# For instance some of the names that are used will be different. The list
|
||||||
|
# of all members will be omitted, etc.
|
||||||
|
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The QUIET tag can be used to turn on/off the messages that are generated
|
||||||
|
# by doxygen. Possible values are YES and NO. If left blank NO is used.
|
||||||
|
|
||||||
|
# This doesn't work:
|
||||||
|
#QUIET = $(OSGAUTODOXYGENQUIET)
|
||||||
|
QUIET = YES
|
||||||
|
|
||||||
|
# The WARNINGS tag can be used to turn on/off the warning messages that are
|
||||||
|
# generated by doxygen. Possible values are YES and NO. If left blank
|
||||||
|
# NO is used.
|
||||||
|
|
||||||
|
WARNINGS = $(OSGAUTODOXYGENWARNINGS)
|
||||||
|
|
||||||
|
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
|
||||||
|
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
|
||||||
|
# automatically be disabled.
|
||||||
|
|
||||||
|
WARN_IF_UNDOCUMENTED = $(OSGAUTODOXYGENWARNIFUNDOCUMENTED)
|
||||||
|
|
||||||
|
# The WARN_FORMAT tag determines the format of the warning messages that
|
||||||
|
# doxygen can produce. The string should contain the $file, $line, and $text
|
||||||
|
# tags, which will be replaced by the file and line number from which the
|
||||||
|
# warning originated and the warning text.
|
||||||
|
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
|
||||||
|
# The WARN_LOGFILE tag can be used to specify a file to which warning
|
||||||
|
# and error messages should be written. If left blank the output is written
|
||||||
|
# to stderr.
|
||||||
|
|
||||||
|
WARN_LOGFILE =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The INPUT tag can be used to specify the files and/or directories that contain
|
||||||
|
# documented source files. You may enter file names like "myfile.cpp" or
|
||||||
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
|
# with spaces.
|
||||||
|
|
||||||
|
INPUT = $(OSGHOME)/include/osg \
|
||||||
|
$(OSGHOME)/include/osgUtil \
|
||||||
|
$(OSGHOME)/include/osgDB \
|
||||||
|
$(OSGHOME)/include/osgGLUT \
|
||||||
|
$(OSGHOME)/src/osg \
|
||||||
|
$(OSGHOME)/src/osgUtil \
|
||||||
|
$(OSGHOME)/src/osgDB \
|
||||||
|
$(OSGHOME)/src/osgGLUT \
|
||||||
|
$(OSGHOME)/doc/Doxyfiles/auto_Mainpage
|
||||||
|
|
||||||
|
# If the value of the INPUT tag contains directories, you can use the
|
||||||
|
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
|
# blank all files are included.
|
||||||
|
|
||||||
|
FILE_PATTERNS =
|
||||||
|
|
||||||
|
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||||
|
# should be searched for input files as well. Possible values are YES and NO.
|
||||||
|
# If left blank NO is used.
|
||||||
|
|
||||||
|
RECURSIVE = YES
|
||||||
|
|
||||||
|
# The EXCLUDE tag can be used to specify files and/or directories that should
|
||||||
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
|
||||||
|
EXCLUDE =
|
||||||
|
|
||||||
|
# If the value of the INPUT tag contains directories, you can use the
|
||||||
|
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
|
||||||
|
# certain files from those directories.
|
||||||
|
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
|
||||||
|
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||||
|
# directories that contain example code fragments that are included (see
|
||||||
|
# the \include command).
|
||||||
|
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
|
||||||
|
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||||
|
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
|
# blank all files are included.
|
||||||
|
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
|
||||||
|
# The IMAGE_PATH tag can be used to specify one or more files or
|
||||||
|
# directories that contain image that are included in the documentation (see
|
||||||
|
# the \image command).
|
||||||
|
|
||||||
|
IMAGE_PATH =
|
||||||
|
|
||||||
|
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||||
|
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||||
|
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
||||||
|
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
||||||
|
# input file. Doxygen will then use the output that the filter program writes
|
||||||
|
# to standard output.
|
||||||
|
|
||||||
|
INPUT_FILTER =
|
||||||
|
|
||||||
|
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
|
||||||
|
# INPUT_FILTER) will be used to filter the input files when producing source
|
||||||
|
# files to browse.
|
||||||
|
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
|
||||||
|
# of all compounds will be generated. Enable this if the project
|
||||||
|
# contains a lot of classes, structs, unions or interfaces.
|
||||||
|
|
||||||
|
ALPHABETICAL_INDEX = YES
|
||||||
|
|
||||||
|
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
|
||||||
|
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
|
||||||
|
# in which this list will be split (can be a number in the range [1..20])
|
||||||
|
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
|
||||||
|
# In case all classes in a project start with a common prefix, all
|
||||||
|
# classes will be put under the same header in the alphabetical index.
|
||||||
|
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
|
||||||
|
# should be ignored while generating the index headers.
|
||||||
|
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
|
||||||
|
# generate HTML output.
|
||||||
|
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
|
||||||
|
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `html' will be used as the default path.
|
||||||
|
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
|
||||||
|
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||||
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
|
# standard header.
|
||||||
|
|
||||||
|
HTML_HEADER =
|
||||||
|
|
||||||
|
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
|
||||||
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
|
# standard footer.
|
||||||
|
|
||||||
|
HTML_FOOTER = $(OSGHOME)/doc/Doxyfiles/custom_Footer.html
|
||||||
|
|
||||||
|
# The HTML_STYLESHEET tag can be used to specify a user defined cascading
|
||||||
|
# style sheet that is used by each HTML page. It can be used to
|
||||||
|
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
||||||
|
# will generate a default style sheet
|
||||||
|
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
|
||||||
|
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
||||||
|
# files or namespaces will be aligned in HTML using tables. If set to
|
||||||
|
# NO a bullet list will be used.
|
||||||
|
|
||||||
|
HTML_ALIGN_MEMBERS = YES
|
||||||
|
|
||||||
|
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
|
||||||
|
# will be generated that can be used as input for tools like the
|
||||||
|
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
|
||||||
|
# of the generated HTML documentation.
|
||||||
|
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
|
||||||
|
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
||||||
|
# top of each HTML page. The value NO (the default) enables the index and
|
||||||
|
# the value YES disables it.
|
||||||
|
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
|
||||||
|
# This tag can be used to set the number of enum values (range [1..20])
|
||||||
|
# that doxygen will group on one line in the generated HTML documentation.
|
||||||
|
|
||||||
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
|
||||||
|
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
|
||||||
|
# generated containing a tree-like index structure (just like the one that
|
||||||
|
# is generated for HTML Help). For this to work a browser that supports
|
||||||
|
# JavaScript and frames is required (for instance Netscape 4.0+
|
||||||
|
# or Internet explorer 4.0+).
|
||||||
|
|
||||||
|
GENERATE_TREEVIEW = NO
|
||||||
|
|
||||||
|
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
||||||
|
# used to set the initial width (in pixels) of the frame in which the tree
|
||||||
|
# is shown.
|
||||||
|
|
||||||
|
TREEVIEW_WIDTH = 250
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
|
||||||
|
# generate Latex output.
|
||||||
|
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
|
||||||
|
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `latex' will be used as the default path.
|
||||||
|
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
|
||||||
|
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
|
||||||
|
# LaTeX documents. This may be useful for small projects and may help to
|
||||||
|
# save some trees in general.
|
||||||
|
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
|
||||||
|
# The PAPER_TYPE tag can be used to set the paper type that is used
|
||||||
|
# by the printer. Possible values are: a4, a4wide, letter, legal and
|
||||||
|
# executive. If left blank a4wide will be used.
|
||||||
|
|
||||||
|
PAPER_TYPE = a4wide
|
||||||
|
|
||||||
|
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
|
||||||
|
# packages that should be included in the LaTeX output.
|
||||||
|
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
|
||||||
|
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
|
||||||
|
# the generated latex document. The header should contain everything until
|
||||||
|
# the first chapter. If it is left blank doxygen will generate a
|
||||||
|
# standard header. Notice: only use this tag if you know what you are doing!
|
||||||
|
|
||||||
|
LATEX_HEADER =
|
||||||
|
|
||||||
|
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
|
||||||
|
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
|
||||||
|
# contain links (just like the HTML output) instead of page references
|
||||||
|
# This makes the output suitable for online browsing using a pdf viewer.
|
||||||
|
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
|
||||||
|
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
|
||||||
|
# plain latex in the generated Makefile. Set this option to YES to get a
|
||||||
|
# higher quality PDF documentation.
|
||||||
|
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
|
||||||
|
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
|
||||||
|
# command to the generated LaTeX files. This will instruct LaTeX to keep
|
||||||
|
# running if errors occur, instead of asking the user for help.
|
||||||
|
# This option is also used when generating formulas in HTML.
|
||||||
|
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
|
||||||
|
# The RTF output is optimised for Word 97 and may not look very pretty with
|
||||||
|
# other RTF readers or editors.
|
||||||
|
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
|
||||||
|
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `rtf' will be used as the default path.
|
||||||
|
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
|
||||||
|
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
|
||||||
|
# RTF documents. This may be useful for small projects and may help to
|
||||||
|
# save some trees in general.
|
||||||
|
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
|
||||||
|
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
|
||||||
|
# will contain hyperlink fields. The RTF file will
|
||||||
|
# contain links (just like the HTML output) instead of page references.
|
||||||
|
# This makes the output suitable for online browsing using a WORD or other.
|
||||||
|
# programs which support those fields.
|
||||||
|
# Note: wordpad (write) and others do not support links.
|
||||||
|
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
|
||||||
|
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
||||||
|
# config file, i.e. a series of assigments. You only have to provide
|
||||||
|
# replacements, missing definitions are set to their default value.
|
||||||
|
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
|
||||||
|
# generate man pages
|
||||||
|
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
|
||||||
|
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `man' will be used as the default path.
|
||||||
|
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
|
||||||
|
# The MAN_EXTENSION tag determines the extension that is added to
|
||||||
|
# the generated man pages (default is the subroutine's section .3)
|
||||||
|
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
|
||||||
|
# evaluate all C-preprocessor directives found in the sources and include
|
||||||
|
# files.
|
||||||
|
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
|
||||||
|
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
|
||||||
|
# names in the source code. If set to NO (the default) only conditional
|
||||||
|
# compilation will be performed. Macro expansion can be done in a controlled
|
||||||
|
# way by setting EXPAND_ONLY_PREDEF to YES.
|
||||||
|
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
|
||||||
|
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
|
||||||
|
# then the macro expansion is limited to the macros specified with the
|
||||||
|
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
|
||||||
|
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
|
||||||
|
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
|
||||||
|
# in the INCLUDE_PATH (see below) will be search if a #include is found.
|
||||||
|
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
|
||||||
|
# The INCLUDE_PATH tag can be used to specify one or more directories that
|
||||||
|
# contain include files that are not input files but should be processed by
|
||||||
|
# the preprocessor.
|
||||||
|
|
||||||
|
INCLUDE_PATH =
|
||||||
|
|
||||||
|
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
|
||||||
|
# patterns (like *.h and *.hpp) to filter out the header-files in the
|
||||||
|
# directories. If left blank, the patterns specified with FILE_PATTERNS will
|
||||||
|
# be used.
|
||||||
|
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
|
||||||
|
# The PREDEFINED tag can be used to specify one or more macro names that
|
||||||
|
# are defined before the preprocessor is started (similar to the -D option of
|
||||||
|
# gcc). The argument of the tag is a list of macros of the form: name
|
||||||
|
# or name=definition (no spaces). If the definition and the = are
|
||||||
|
# omitted =1 is assumed.
|
||||||
|
|
||||||
|
PREDEFINED =
|
||||||
|
|
||||||
|
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
|
||||||
|
# this tag can be used to specify a list of macro names that should be expanded.
|
||||||
|
# The macro definition that is found in the sources will be used.
|
||||||
|
# Use the PREDEFINED tag if you want to use a different macro definition.
|
||||||
|
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The TAGFILES tag can be used to specify one or more tagfiles.
|
||||||
|
|
||||||
|
TAGFILES =
|
||||||
|
|
||||||
|
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
|
||||||
|
# a tag file that is based on the input files it reads.
|
||||||
|
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
|
||||||
|
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
|
||||||
|
# in the class index. If set to NO only the inherited external classes
|
||||||
|
# will be listed.
|
||||||
|
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
|
||||||
|
# The PERL_PATH should be the absolute path and name of the perl script
|
||||||
|
# interpreter (i.e. the result of `which perl').
|
||||||
|
|
||||||
|
PERL_PATH = /usr/bin/perl
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
|
||||||
|
# available from the path. This tool is part of Graphviz, a graph visualization
|
||||||
|
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
|
||||||
|
# have no effect if this option is set to NO (the default)
|
||||||
|
|
||||||
|
HAVE_DOT = YES
|
||||||
|
|
||||||
|
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will generate a graph for each documented class showing the direct and
|
||||||
|
# indirect inheritance relations. Setting this tag to YES will force the
|
||||||
|
# the CLASS_DIAGRAMS tag to NO.
|
||||||
|
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
|
||||||
|
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will generate a graph for each documented class showing the direct and
|
||||||
|
# indirect implementation dependencies (inheritance, containment, and
|
||||||
|
# class references variables) of the class with other documented classes.
|
||||||
|
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
|
||||||
|
# YES then doxygen will generate a graph for each documented file showing
|
||||||
|
# the direct and indirect include dependencies of the file with other
|
||||||
|
# documented files.
|
||||||
|
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
|
||||||
|
# YES then doxygen will generate a graph for each documented header file showing
|
||||||
|
# the documented files that directly or indirectly include this file
|
||||||
|
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
|
||||||
|
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will graphical hierarchy of all classes instead of a textual one.
|
||||||
|
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
||||||
|
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
||||||
|
# found. If left blank, it is assumed the dot tool can be found on the path.
|
||||||
|
|
||||||
|
DOT_PATH =
|
||||||
|
|
||||||
|
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
|
||||||
|
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||||
|
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||||
|
# the specified constraint. Beware that most browsers cannot cope with very
|
||||||
|
# large images.
|
||||||
|
|
||||||
|
MAX_DOT_GRAPH_WIDTH = 1024
|
||||||
|
|
||||||
|
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
|
||||||
|
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||||
|
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||||
|
# the specified constraint. Beware that most browsers cannot cope with very
|
||||||
|
# large images.
|
||||||
|
|
||||||
|
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||||
|
|
||||||
|
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
|
||||||
|
# generate a legend page explaining the meaning of the various boxes and
|
||||||
|
# arrows in the dot generated graphs.
|
||||||
|
|
||||||
|
GENERATE_LEGEND = YES
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to the search engine
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The SEARCHENGINE tag specifies whether or not a search engine should be
|
||||||
|
# used. If set to NO the values of all tags below this one will be ignored.
|
||||||
|
|
||||||
|
SEARCHENGINE = NO
|
||||||
|
|
||||||
|
# The CGI_NAME tag should be the name of the CGI script that
|
||||||
|
# starts the search engine (doxysearch) with the correct parameters.
|
||||||
|
# A script with this name will be generated by doxygen.
|
||||||
|
|
||||||
|
CGI_NAME = search.cgi
|
||||||
|
|
||||||
|
# The CGI_URL tag should be the absolute URL to the directory where the
|
||||||
|
# cgi binaries are located. See the documentation of your http daemon for
|
||||||
|
# details.
|
||||||
|
|
||||||
|
CGI_URL =
|
||||||
|
|
||||||
|
# The DOC_URL tag should be the absolute URL to the directory where the
|
||||||
|
# documentation is located. If left blank the absolute path to the
|
||||||
|
# documentation, with file:// prepended to it, will be used.
|
||||||
|
|
||||||
|
DOC_URL =
|
||||||
|
|
||||||
|
# The DOC_ABSPATH tag should be the absolute path to the directory where the
|
||||||
|
# documentation is located. If left blank the directory on the local machine
|
||||||
|
# will be used.
|
||||||
|
|
||||||
|
DOC_ABSPATH =
|
||||||
|
|
||||||
|
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
|
||||||
|
# is installed.
|
||||||
|
|
||||||
|
BIN_ABSPATH = /usr/local/bin/
|
||||||
|
|
||||||
|
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
|
||||||
|
# documentation generated for other projects. This allows doxysearch to search
|
||||||
|
# the documentation for these projects as well.
|
||||||
|
|
||||||
|
EXT_DOC_PATHS =
|
13
doc/Doxyfiles/auto_Mainpage
Normal file
13
doc/Doxyfiles/auto_Mainpage
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* \mainpage
|
||||||
|
* These pages document the API for the standard Open Scene Graph
|
||||||
|
* distribution. This includes the core scene graph (osg), the accompanying
|
||||||
|
* utility toolkit (osgUtil), and the rudimentary GLUT work (osgGLUT).
|
||||||
|
* In the interests of clarity, the plug-ins which may also be found in
|
||||||
|
* the distribution have not been documented here.
|
||||||
|
*
|
||||||
|
* Tarballs of this documentation may be downloaded from
|
||||||
|
* <a href="http://www.openscenegraph.org/download/dox/">here</a>.
|
||||||
|
*
|
||||||
|
* Enjoy!
|
||||||
|
*/
|
726
doc/Doxyfiles/core_Doxyfile
Normal file
726
doc/Doxyfiles/core_Doxyfile
Normal file
@ -0,0 +1,726 @@
|
|||||||
|
# Doxyfile 1.2.2
|
||||||
|
|
||||||
|
# ==========================================================================
|
||||||
|
# core_Doxyfile documents only the central core componenets of the OSG,
|
||||||
|
# ignoring plugins. Assumptions:
|
||||||
|
#
|
||||||
|
# OSGHOME points to the root of the OSG tree on your filesystem
|
||||||
|
# 'dot' is installed
|
||||||
|
#
|
||||||
|
# ==========================================================================
|
||||||
|
|
||||||
|
# This file describes the settings to be used by doxygen for a project
|
||||||
|
#
|
||||||
|
# All text after a hash (#) is considered a comment and will be ignored
|
||||||
|
# The format is:
|
||||||
|
# TAG = value [value, ...]
|
||||||
|
# For lists items can also be appended using:
|
||||||
|
# TAG += value [value, ...]
|
||||||
|
# Values that contain spaces should be placed between quotes (" ")
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# General configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
||||||
|
# by quotes) that should identify the project.
|
||||||
|
|
||||||
|
PROJECT_NAME = "Open Scene Graph & Utility Toolkit"
|
||||||
|
|
||||||
|
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
||||||
|
# This could be handy for archiving the generated documentation or
|
||||||
|
# if some version control system is used.
|
||||||
|
|
||||||
|
PROJECT_NUMBER =
|
||||||
|
|
||||||
|
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||||
|
# base path where the generated documentation will be put.
|
||||||
|
# If a relative path is entered, it will be relative to the location
|
||||||
|
# where doxygen was started. If left blank the current directory will be used.
|
||||||
|
|
||||||
|
OUTPUT_DIRECTORY = $(OSGHOME)/doc/doxygen
|
||||||
|
|
||||||
|
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
|
||||||
|
# documentation generated by doxygen is written. Doxygen will use this
|
||||||
|
# information to generate all constant output in the proper language.
|
||||||
|
# The default language is English, other supported languages are:
|
||||||
|
# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
|
||||||
|
# Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and
|
||||||
|
# Portuguese.
|
||||||
|
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
|
||||||
|
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
|
||||||
|
# documentation are documented, even if no documentation was available.
|
||||||
|
# Private class members and static file members will be hidden unless
|
||||||
|
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
|
||||||
|
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
|
||||||
|
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
|
||||||
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
|
||||||
|
# If the EXTRACT_STATIC tag is set to YES all static members of a file
|
||||||
|
# will be included in the documentation.
|
||||||
|
|
||||||
|
EXTRACT_STATIC = NO
|
||||||
|
|
||||||
|
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
|
||||||
|
# undocumented members of documented classes, files or namespaces.
|
||||||
|
# If set to NO (the default) these members will be included in the
|
||||||
|
# various overviews, but no documentation section is generated.
|
||||||
|
# This option has no effect if EXTRACT_ALL is enabled.
|
||||||
|
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
|
||||||
|
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
|
||||||
|
# undocumented classes that are normally visible in the class hierarchy.
|
||||||
|
# If set to NO (the default) these class will be included in the various
|
||||||
|
# overviews. This option has no effect if EXTRACT_ALL is enabled.
|
||||||
|
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
|
||||||
|
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
|
||||||
|
# include brief member descriptions after the members that are listed in
|
||||||
|
# the file and class documentation (similar to JavaDoc).
|
||||||
|
# Set to NO to disable this.
|
||||||
|
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
|
||||||
|
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
|
||||||
|
# the brief description of a member or function before the detailed description.
|
||||||
|
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
|
||||||
|
# brief descriptions will be completely suppressed.
|
||||||
|
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
|
||||||
|
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
|
||||||
|
# Doxygen will generate a detailed section even if there is only a brief
|
||||||
|
# description.
|
||||||
|
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
|
||||||
|
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
|
||||||
|
# path before files name in the file list and in the header files. If set
|
||||||
|
# to NO the shortest path that makes the file name unique will be used.
|
||||||
|
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
|
||||||
|
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
|
||||||
|
# can be used to strip a user defined part of the path. Stripping is
|
||||||
|
# only done if one of the specified strings matches the left-hand part of
|
||||||
|
# the path. It is allowed to use relative paths in the argument list.
|
||||||
|
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
|
||||||
|
# The INTERNAL_DOCS tag determines if documentation
|
||||||
|
# that is typed after a \internal command is included. If the tag is set
|
||||||
|
# to NO (the default) then the documentation will be excluded.
|
||||||
|
# Set it to YES to include the internal documentation.
|
||||||
|
|
||||||
|
INTERNAL_DOCS = NO
|
||||||
|
|
||||||
|
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
||||||
|
# generate a class diagram (in Html and LaTeX) for classes with base or
|
||||||
|
# super classes. Setting the tag to NO turns the diagrams off.
|
||||||
|
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
|
||||||
|
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
|
||||||
|
# be generated. Documented entities will be cross-referenced with these sources.
|
||||||
|
|
||||||
|
SOURCE_BROWSER = NO
|
||||||
|
|
||||||
|
# Setting the INLINE_SOURCES tag to YES will include the body
|
||||||
|
# of functions and classes directly in the documentation.
|
||||||
|
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
|
||||||
|
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||||
|
# doxygen to hide any special comment blocks from generated source code
|
||||||
|
# fragments. Normal C and C++ comments will always remain visible.
|
||||||
|
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
|
||||||
|
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
|
||||||
|
# file names in lower case letters. If set to YES upper case letters are also
|
||||||
|
# allowed. This is useful if you have classes or files whose names only differ
|
||||||
|
# in case and if your file system supports case sensitive file names. Windows
|
||||||
|
# users are adviced to set this option to NO.
|
||||||
|
|
||||||
|
CASE_SENSE_NAMES = YES
|
||||||
|
|
||||||
|
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
|
||||||
|
# will show members with their full class and namespace scopes in the
|
||||||
|
# documentation. If set to YES the scope will be hidden.
|
||||||
|
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
|
||||||
|
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
|
||||||
|
# will generate a verbatim copy of the header file for each class for
|
||||||
|
# which an include is specified. Set to NO to disable this.
|
||||||
|
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
|
||||||
|
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
|
||||||
|
# will put list of the files that are included by a file in the documentation
|
||||||
|
# of that file.
|
||||||
|
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
|
||||||
|
# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
|
||||||
|
# will interpret the first line (until the first dot) of a JavaDoc-style
|
||||||
|
# comment as the brief description. If set to NO, the Javadoc-style will
|
||||||
|
# behave just like the Qt-style comments.
|
||||||
|
|
||||||
|
JAVADOC_AUTOBRIEF = YES
|
||||||
|
|
||||||
|
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
|
||||||
|
# member inherits the documentation from any documented member that it
|
||||||
|
# reimplements.
|
||||||
|
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
|
||||||
|
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
|
||||||
|
# is inserted in the documentation for inline members.
|
||||||
|
|
||||||
|
INLINE_INFO = YES
|
||||||
|
|
||||||
|
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
|
||||||
|
# will sort the (detailed) documentation of file and class members
|
||||||
|
# alphabetically by member name. If set to NO the members will appear in
|
||||||
|
# declaration order.
|
||||||
|
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
|
||||||
|
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
|
||||||
|
# tag is set to YES, then doxygen will reuse the documentation of the first
|
||||||
|
# member in the group (if any) for the other members of the group. By default
|
||||||
|
# all members of a group must be documented explicitly.
|
||||||
|
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
|
||||||
|
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
|
||||||
|
# Doxygen uses this value to replace tabs by spaces in code fragments.
|
||||||
|
|
||||||
|
TAB_SIZE = 8
|
||||||
|
|
||||||
|
# The ENABLE_SECTIONS tag can be used to enable conditional
|
||||||
|
# documentation sections, marked by \if sectionname ... \endif.
|
||||||
|
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
|
||||||
|
# The GENERATE_TODOLIST tag can be used to enable (YES) or
|
||||||
|
# disable (NO) the todo list. This list is created by putting \todo
|
||||||
|
# commands in the documentation.
|
||||||
|
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
|
||||||
|
# The GENERATE_TESTLIST tag can be used to enable (YES) or
|
||||||
|
# disable (NO) the test list. This list is created by putting \test
|
||||||
|
# commands in the documentation.
|
||||||
|
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
|
||||||
|
# This tag can be used to specify a number of aliases that acts
|
||||||
|
# as commands in the documentation. An alias has the form "name=value".
|
||||||
|
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
|
||||||
|
# put the command \sideeffect (or @sideeffect) in the documentation, which
|
||||||
|
# will result in a user defined paragraph with heading "Side Effects:".
|
||||||
|
# You can put \n's in the value part of an alias to insert newlines.
|
||||||
|
|
||||||
|
ALIASES =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The QUIET tag can be used to turn on/off the messages that are generated
|
||||||
|
# by doxygen. Possible values are YES and NO. If left blank NO is used.
|
||||||
|
|
||||||
|
QUIET = NO
|
||||||
|
|
||||||
|
# The WARNINGS tag can be used to turn on/off the warning messages that are
|
||||||
|
# generated by doxygen. Possible values are YES and NO. If left blank
|
||||||
|
# NO is used.
|
||||||
|
|
||||||
|
WARNINGS = YES
|
||||||
|
|
||||||
|
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
|
||||||
|
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
|
||||||
|
# automatically be disabled.
|
||||||
|
|
||||||
|
WARN_IF_UNDOCUMENTED = YES
|
||||||
|
|
||||||
|
# The WARN_FORMAT tag determines the format of the warning messages that
|
||||||
|
# doxygen can produce. The string should contain the $file, $line, and $text
|
||||||
|
# tags, which will be replaced by the file and line number from which the
|
||||||
|
# warning originated and the warning text.
|
||||||
|
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The INPUT tag can be used to specify the files and/or directories that contain
|
||||||
|
# documented source files. You may enter file names like "myfile.cpp" or
|
||||||
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
|
# with spaces.
|
||||||
|
|
||||||
|
INPUT = $(OSGHOME)/include/osg \
|
||||||
|
$(OSGHOME)/include/osgUtil \
|
||||||
|
$(OSGHOME)/include/osgDB \
|
||||||
|
$(OSGHOME)/include/osgGLUT \
|
||||||
|
$(OSGHOME)/src/osg \
|
||||||
|
$(OSGHOME)/src/osgUtil \
|
||||||
|
$(OSGHOME)/src/osgDB \
|
||||||
|
$(OSGHOME)/src/osgGLUT \
|
||||||
|
$(OSGHOME)/doc/Doxyfiles/auto_Mainpage
|
||||||
|
|
||||||
|
|
||||||
|
# If the value of the INPUT tag contains directories, you can use the
|
||||||
|
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
|
# blank all files are included.
|
||||||
|
|
||||||
|
FILE_PATTERNS =
|
||||||
|
|
||||||
|
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||||
|
# should be searched for input files as well. Possible values are YES and NO.
|
||||||
|
# If left blank NO is used.
|
||||||
|
|
||||||
|
RECURSIVE = YES
|
||||||
|
|
||||||
|
# The EXCLUDE tag can be used to specify files and/or directories that should
|
||||||
|
# excluded from the INPUT source files. This way you can easily exclude a
|
||||||
|
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||||
|
|
||||||
|
EXCLUDE =
|
||||||
|
|
||||||
|
# If the value of the INPUT tag contains directories, you can use the
|
||||||
|
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
|
||||||
|
# certain files from those directories.
|
||||||
|
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
|
||||||
|
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||||
|
# directories that contain example code fragments that are included (see
|
||||||
|
# the \include command).
|
||||||
|
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
|
||||||
|
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||||
|
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
|
||||||
|
# and *.h) to filter out the source-files in the directories. If left
|
||||||
|
# blank all files are included.
|
||||||
|
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
|
||||||
|
# The IMAGE_PATH tag can be used to specify one or more files or
|
||||||
|
# directories that contain image that are included in the documentation (see
|
||||||
|
# the \image command).
|
||||||
|
|
||||||
|
IMAGE_PATH =
|
||||||
|
|
||||||
|
# The INPUT_FILTER tag can be used to specify a program that doxygen should
|
||||||
|
# invoke to filter for each input file. Doxygen will invoke the filter program
|
||||||
|
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
||||||
|
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
||||||
|
# input file. Doxygen will then use the output that the filter program writes
|
||||||
|
# to standard output.
|
||||||
|
|
||||||
|
INPUT_FILTER =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
|
||||||
|
# of all compounds will be generated. Enable this if the project
|
||||||
|
# contains a lot of classes, structs, unions or interfaces.
|
||||||
|
|
||||||
|
ALPHABETICAL_INDEX = YES
|
||||||
|
|
||||||
|
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
|
||||||
|
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
|
||||||
|
# in which this list will be split (can be a number in the range [1..20])
|
||||||
|
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
|
||||||
|
# In case all classes in a project start with a common prefix, all
|
||||||
|
# classes will be put under the same header in the alphabetical index.
|
||||||
|
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
|
||||||
|
# should be ignored while generating the index headers.
|
||||||
|
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
|
||||||
|
# generate HTML output.
|
||||||
|
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
|
||||||
|
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `html' will be used as the default path.
|
||||||
|
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
|
||||||
|
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||||
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
|
# standard header.
|
||||||
|
|
||||||
|
HTML_HEADER =
|
||||||
|
|
||||||
|
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
|
||||||
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
|
# standard footer.
|
||||||
|
|
||||||
|
HTML_FOOTER = $(OSGHOME)/doc/Doxyfiles/custom_Footer.html
|
||||||
|
|
||||||
|
# The HTML_STYLESHEET tag can be used to specify a user defined cascading
|
||||||
|
# style sheet that is used by each HTML page. It can be used to
|
||||||
|
# fine-tune the look of the HTML output. If the tag is left blank doxygen
|
||||||
|
# will generate a default style sheet
|
||||||
|
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
|
||||||
|
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
||||||
|
# files or namespaces will be aligned in HTML using tables. If set to
|
||||||
|
# NO a bullet list will be used.
|
||||||
|
|
||||||
|
HTML_ALIGN_MEMBERS = YES
|
||||||
|
|
||||||
|
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
|
||||||
|
# will be generated that can be used as input for tools like the
|
||||||
|
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
|
||||||
|
# of the generated HTML documentation.
|
||||||
|
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
|
||||||
|
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
||||||
|
# top of each HTML page. The value NO (the default) enables the index and
|
||||||
|
# the value YES disables it.
|
||||||
|
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
|
||||||
|
# generate Latex output.
|
||||||
|
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
|
||||||
|
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `latex' will be used as the default path.
|
||||||
|
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
|
||||||
|
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
|
||||||
|
# LaTeX documents. This may be useful for small projects and may help to
|
||||||
|
# save some trees in general.
|
||||||
|
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
|
||||||
|
# The PAPER_TYPE tag can be used to set the paper type that is used
|
||||||
|
# by the printer. Possible values are: a4, a4wide, letter, legal and
|
||||||
|
# executive. If left blank a4wide will be used.
|
||||||
|
|
||||||
|
PAPER_TYPE = a4wide
|
||||||
|
|
||||||
|
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
|
||||||
|
# packages that should be included in the LaTeX output.
|
||||||
|
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
|
||||||
|
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
|
||||||
|
# the generated latex document. The header should contain everything until
|
||||||
|
# the first chapter. If it is left blank doxygen will generate a
|
||||||
|
# standard header. Notice: only use this tag if you know what you are doing!
|
||||||
|
|
||||||
|
LATEX_HEADER =
|
||||||
|
|
||||||
|
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
|
||||||
|
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
|
||||||
|
# contain links (just like the HTML output) instead of page references
|
||||||
|
# This makes the output suitable for online browsing using a pdf viewer.
|
||||||
|
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
|
||||||
|
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
|
||||||
|
# plain latex in the generated Makefile. Set this option to YES to get a
|
||||||
|
# higher quality PDF documentation.
|
||||||
|
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
|
||||||
|
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
|
||||||
|
# command to the generated LaTeX files. This will instruct LaTeX to keep
|
||||||
|
# running if errors occur, instead of asking the user for help.
|
||||||
|
# This option is also used when generating formulas in HTML.
|
||||||
|
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
|
||||||
|
# The RTF output is optimised for Word 97 and may not look very pretty with
|
||||||
|
# other RTF readers or editors.
|
||||||
|
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
|
||||||
|
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `rtf' will be used as the default path.
|
||||||
|
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
|
||||||
|
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
|
||||||
|
# RTF documents. This may be useful for small projects and may help to
|
||||||
|
# save some trees in general.
|
||||||
|
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
|
||||||
|
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
|
||||||
|
# will contain hyperlink fields. The RTF file will
|
||||||
|
# contain links (just like the HTML output) instead of page references.
|
||||||
|
# This makes the output suitable for online browsing using a WORD or other.
|
||||||
|
# programs which support those fields.
|
||||||
|
# Note: wordpad (write) and others do not support links.
|
||||||
|
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
|
||||||
|
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
||||||
|
# config file, i.e. a series of assigments. You only have to provide
|
||||||
|
# replacements, missing definitions are set to their default value.
|
||||||
|
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
|
||||||
|
# generate man pages
|
||||||
|
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
|
||||||
|
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
|
||||||
|
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
|
||||||
|
# put in front of it. If left blank `man' will be used as the default path.
|
||||||
|
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
|
||||||
|
# The MAN_EXTENSION tag determines the extension that is added to
|
||||||
|
# the generated man pages (default is the subroutine's section .3)
|
||||||
|
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the GENERATE_XML tag is set to YES Doxygen will
|
||||||
|
# generate an XML file that captures the structure of
|
||||||
|
# the code including all documentation. Warning: This feature
|
||||||
|
# is still experimental and very incomplete.
|
||||||
|
|
||||||
|
GENERATE_XML = NO
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
|
||||||
|
# evaluate all C-preprocessor directives found in the sources and include
|
||||||
|
# files.
|
||||||
|
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
|
||||||
|
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
|
||||||
|
# names in the source code. If set to NO (the default) only conditional
|
||||||
|
# compilation will be performed. Macro expansion can be done in a controlled
|
||||||
|
# way by setting EXPAND_ONLY_PREDEF to YES.
|
||||||
|
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
|
||||||
|
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
|
||||||
|
# then the macro expansion is limited to the macros specified with the
|
||||||
|
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
|
||||||
|
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
|
||||||
|
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
|
||||||
|
# in the INCLUDE_PATH (see below) will be search if a #include is found.
|
||||||
|
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
|
||||||
|
# The INCLUDE_PATH tag can be used to specify one or more directories that
|
||||||
|
# contain include files that are not input files but should be processed by
|
||||||
|
# the preprocessor.
|
||||||
|
|
||||||
|
INCLUDE_PATH =
|
||||||
|
|
||||||
|
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
|
||||||
|
# patterns (like *.h and *.hpp) to filter out the header-files in the
|
||||||
|
# directories. If left blank, the patterns specified with FILE_PATTERNS will
|
||||||
|
# be used.
|
||||||
|
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
|
||||||
|
# The PREDEFINED tag can be used to specify one or more macro names that
|
||||||
|
# are defined before the preprocessor is started (similar to the -D option of
|
||||||
|
# gcc). The argument of the tag is a list of macros of the form: name
|
||||||
|
# or name=definition (no spaces). If the definition and the = are
|
||||||
|
# omitted =1 is assumed.
|
||||||
|
|
||||||
|
PREDEFINED =
|
||||||
|
|
||||||
|
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
|
||||||
|
# this tag can be used to specify a list of macro names that should be expanded.
|
||||||
|
# The macro definition that is found in the sources will be used.
|
||||||
|
# Use the PREDEFINED tag if you want to use a different macro definition.
|
||||||
|
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The TAGFILES tag can be used to specify one or more tagfiles.
|
||||||
|
|
||||||
|
TAGFILES =
|
||||||
|
|
||||||
|
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
|
||||||
|
# a tag file that is based on the input files it reads.
|
||||||
|
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
|
||||||
|
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
|
||||||
|
# in the class index. If set to NO only the inherited external classes
|
||||||
|
# will be listed.
|
||||||
|
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
|
||||||
|
# The PERL_PATH should be the absolute path and name of the perl script
|
||||||
|
# interpreter (i.e. the result of `which perl').
|
||||||
|
|
||||||
|
PERL_PATH = /usr/bin/perl
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
|
||||||
|
# available from the path. This tool is part of Graphviz, a graph visualization
|
||||||
|
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
|
||||||
|
# have no effect if this option is set to NO (the default)
|
||||||
|
|
||||||
|
HAVE_DOT = YES
|
||||||
|
|
||||||
|
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will generate a graph for each documented class showing the direct and
|
||||||
|
# indirect inheritance relations. Setting this tag to YES will force the
|
||||||
|
# the CLASS_DIAGRAMS tag to NO.
|
||||||
|
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
|
||||||
|
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will generate a graph for each documented class showing the direct and
|
||||||
|
# indirect implementation dependencies (inheritance, containment, and
|
||||||
|
# class references variables) of the class with other documented classes.
|
||||||
|
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
|
||||||
|
# YES then doxygen will generate a graph for each documented file showing
|
||||||
|
# the direct and indirect include dependencies of the file with other
|
||||||
|
# documented files.
|
||||||
|
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
|
||||||
|
# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
|
||||||
|
# YES then doxygen will generate a graph for each documented header file showing
|
||||||
|
# the documented files that directly or indirectly include this file
|
||||||
|
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
|
||||||
|
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
|
||||||
|
# will graphical hierarchy of all classes instead of a textual one.
|
||||||
|
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
||||||
|
# The tag DOT_PATH can be used to specify the path where the dot tool can be
|
||||||
|
# found. If left blank, it is assumed the dot tool can be found on the path.
|
||||||
|
|
||||||
|
DOT_PATH =
|
||||||
|
|
||||||
|
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
|
||||||
|
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||||
|
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||||
|
# the specified constraint. Beware that most browsers cannot cope with very
|
||||||
|
# large images.
|
||||||
|
|
||||||
|
MAX_DOT_GRAPH_WIDTH = 1024
|
||||||
|
|
||||||
|
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
|
||||||
|
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
|
||||||
|
# this value, doxygen will try to truncate the graph, so that it fits within
|
||||||
|
# the specified constraint. Beware that most browsers cannot cope with very
|
||||||
|
# large images.
|
||||||
|
|
||||||
|
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::addtions related to the search engine
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The SEARCHENGINE tag specifies whether or not a search engine should be
|
||||||
|
# used. If set to NO the values of all tags below this one will be ignored.
|
||||||
|
|
||||||
|
SEARCHENGINE = NO
|
||||||
|
|
||||||
|
# The CGI_NAME tag should be the name of the CGI script that
|
||||||
|
# starts the search engine (doxysearch) with the correct parameters.
|
||||||
|
# A script with this name will be generated by doxygen.
|
||||||
|
|
||||||
|
CGI_NAME = search.cgi
|
||||||
|
|
||||||
|
# The CGI_URL tag should be the absolute URL to the directory where the
|
||||||
|
# cgi binaries are located. See the documentation of your http daemon for
|
||||||
|
# details.
|
||||||
|
|
||||||
|
CGI_URL =
|
||||||
|
|
||||||
|
# The DOC_URL tag should be the absolute URL to the directory where the
|
||||||
|
# documentation is located. If left blank the absolute path to the
|
||||||
|
# documentation, with file:// prepended to it, will be used.
|
||||||
|
|
||||||
|
DOC_URL =
|
||||||
|
|
||||||
|
# The DOC_ABSPATH tag should be the absolute path to the directory where the
|
||||||
|
# documentation is located. If left blank the directory on the local machine
|
||||||
|
# will be used.
|
||||||
|
|
||||||
|
DOC_ABSPATH =
|
||||||
|
|
||||||
|
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
|
||||||
|
# is installed.
|
||||||
|
|
||||||
|
BIN_ABSPATH = /usr/local/bin/
|
||||||
|
|
||||||
|
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
|
||||||
|
# documentation generated for other projects. This allows doxysearch to search
|
||||||
|
# the documentation for these projects as well.
|
||||||
|
|
||||||
|
EXT_DOC_PATHS =
|
6
doc/Doxyfiles/custom_Footer.html
Normal file
6
doc/Doxyfiles/custom_Footer.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<hr>
|
||||||
|
<address><small>Generated at $datetime for the <a href="http://www.openscenegraph.org/">Open Scene Graph</a>
|
||||||
|
by <a href="http://www.stack.nl/~dimitri/doxygen/index.html">doxygen</a> $doxygenversion.</small></address>
|
||||||
|
<!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the Open Scene Graph -->
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -2,34 +2,43 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||||
<meta name="GENERATOR" content="Mozilla/4.6 [en-gb]C-CCK-MCD NetscapeOnline.co.uk (Win95; I) [Netscape]">
|
<meta name="GENERATOR" content="Mozilla/4.75C-SGI [en] (X11; I; IRIX64 6.5 IP27) [Netscape]">
|
||||||
<title>OSG Documentation</title>
|
<title>OSG Documentation</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||||
|
|
||||||
|
<img SRC="OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<center>
|
|
||||||
<h1>
|
<h1>
|
||||||
<b><i><u>Open Scene Graph Documentation</u></i></b></h1></center>
|
<b><i><u>Documentation</u></i></b></h1>
|
||||||
The documentation on the OSG is still in its early stages, and far from
|
The documentation on the OSG is still in its early stages, and far from
|
||||||
complete. If you can't find your answers in what documentation there currently
|
complete. If you can't find your answers in what documentation there currently
|
||||||
is, please feel free to post the question on the OSG mailing list.<u></u>
|
is, please feel free to post the question on the OSG mailing list.
|
||||||
<p><u><a href="../index.html">Introduction, distribution contents and contacts</a></u><u></u>
|
<p><u><a href="../index.html">Introduction, distribution contents and contacts</a></u>
|
||||||
|
<p><u>User documention</u>
|
||||||
|
<blockquote><a href="sgv.html">sgv</a>
|
||||||
|
Documentation on key binding in sgv (Scene Graph Viewer.)</blockquote></p>
|
||||||
<p><u>Reference guides (automatically generated using doc++)</u>
|
<p><u>Reference guides (automatically generated using doc++)</u>
|
||||||
<blockquote><a href="osg/HIER.html">osg/</a>
|
<blockquote><a href="doc++/osg/HIER.html">osg/</a>
|
||||||
core scene graph reference guide.
|
core scene graph reference guide.
|
||||||
<br><a href="osgUtil/HIER.html">osgUtil/</a>
|
<br><a href="doc++/osgUtil/HIER.html">osgUtil/</a>
|
||||||
scene graph utilities reference guide.
|
scene graph utilities reference guide.
|
||||||
<br><a href="osgGLUT/HIER.html">osgGLUT/</a> simple
|
<br><a href="doc++/osgDB/HIER.html">osgDB/</a>
|
||||||
GLUT based viewer base classes reference guide.</blockquote>
|
scene graph database utilities reference guide.
|
||||||
<u>UML Diagrams</u>
|
<br><a href="doc++/osgGLUT/HIER.html">osgGLUT/</a>
|
||||||
|
simple GLUT based viewer base classes reference guide.
|
||||||
|
<br><a href="doc++/osgWX/HIER.html">osgWX/</a>
|
||||||
|
WXEvenetAdapter for integrating wxWindows with osgUtil manipulators.</blockquote>
|
||||||
|
<p>Doxygen-generated tarballs are available for <a href="http://www.openscenegraph.org/download/dox/">download</a> from the website</p>
|
||||||
|
<p><u>UML Diagrams</u>
|
||||||
<blockquote><a href="UML/osg.png">osg</a>
|
<blockquote><a href="UML/osg.png">osg</a>
|
||||||
UML diagram of the osg core library
|
UML diagram of the osg core library
|
||||||
<br><a href="UML/osgutils.png">osgUtil</a>
|
<br><a href="UML/osgutils.png">osgUtil</a>
|
||||||
UML diagram of the osg utilities library</blockquote>
|
UML diagram of the osg utilities library</blockquote></p>
|
||||||
<u>Mind Maps</u>
|
<p><u>Mind Maps</u>
|
||||||
<blockquote><a href="MindMaps/DesignPatterns/DesignPatterns.html">Design
|
<blockquote><a href="MindMaps/DesignPatterns/DesignPatterns.html">Design
|
||||||
Pattern used in the OSG.</a>
|
Pattern used in the OSG.</a>
|
||||||
<br><a href="MindMaps/Mission/Mission.html">Mission Statement for OSG.</a></blockquote>
|
<br><a href="MindMaps/Mission/Mission.html">Mission Statement for OSG.</a></blockquote></p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,18 +1,30 @@
|
|||||||
#ifndef OSG_ALPHAFUNC
|
#ifndef OSG_ALPHAFUNC
|
||||||
#define OSG_ALPHAFUNC 1
|
#define OSG_ALPHAFUNC 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/StateAttribute>
|
||||||
#include <osg/Object>
|
#include <osg/StateSet>
|
||||||
#include <osg/GL>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Encapsulte OpenGL glAlphaFunc.
|
/** Encapsulte OpenGL glAlphaFunc.
|
||||||
*/
|
*/
|
||||||
class SG_EXPORT AlphaFunc : public Object
|
class SG_EXPORT AlphaFunc : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
|
|
||||||
|
AlphaFunc();
|
||||||
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const AlphaFunc*>(obj)!=0L; }
|
||||||
|
virtual Object* clone() const { return new AlphaFunc(); }
|
||||||
|
virtual const char* className() const { return "AlphaFunc"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return ALPHAFUNC; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_ALPHA_TEST,value);
|
||||||
|
}
|
||||||
|
|
||||||
enum ComparisonFunction {
|
enum ComparisonFunction {
|
||||||
NEVER = GL_NEVER,
|
NEVER = GL_NEVER,
|
||||||
LESS = GL_LESS,
|
LESS = GL_LESS,
|
||||||
@ -24,37 +36,22 @@ class SG_EXPORT AlphaFunc : public Object
|
|||||||
ALWAYS = GL_ALWAYS
|
ALWAYS = GL_ALWAYS
|
||||||
};
|
};
|
||||||
|
|
||||||
AlphaFunc();
|
inline void setFunction(const ComparisonFunction func,const float ref)
|
||||||
static AlphaFunc* instance();
|
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<AlphaFunc*>(obj)!=NULL; }
|
|
||||||
virtual Object* clone() const { return new AlphaFunc(); }
|
|
||||||
virtual const char* className() const { return "AlphaFunc"; }
|
|
||||||
|
|
||||||
void setFunction(ComparisonFunction func,float ref)
|
|
||||||
{
|
{
|
||||||
_comparisonFunc = func;
|
_comparisonFunc = func;
|
||||||
_referenceValue = ref;
|
_referenceValue = ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
ComparisonFunction getFunction() const { return _comparisonFunc; }
|
inline const ComparisonFunction getFunction() const { return _comparisonFunc; }
|
||||||
|
|
||||||
float getRefrenceValue() const { return _referenceValue; }
|
inline const float getReferenceValue() const { return _referenceValue; }
|
||||||
|
|
||||||
static void enable();
|
virtual void apply(State& state) const;
|
||||||
static void disable();
|
|
||||||
|
|
||||||
void apply();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~AlphaFunc();
|
virtual ~AlphaFunc();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
bool matchFuncStr(const char* str,ComparisonFunction& func);
|
|
||||||
const char* getFuncStr(ComparisonFunction func);
|
|
||||||
|
|
||||||
ComparisonFunction _comparisonFunc;
|
ComparisonFunction _comparisonFunc;
|
||||||
float _referenceValue;
|
float _referenceValue;
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
#ifndef OSG_BILLBOARD
|
#ifndef OSG_BILLBOARD
|
||||||
#define OSG_BILLBOARD 1
|
#define OSG_BILLBOARD 1
|
||||||
|
|
||||||
|
#include <osg/Matrix>
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Billboard - a Geode which orientates its child osg::GeoSet's to face
|
/** Billboard - a Geode which orientates its child osg::Drawable's to face
|
||||||
the eye point.
|
the eye point.
|
||||||
Typical uses are for trees, or particle explosions.
|
Typical uses are for trees, or particle explosions.
|
||||||
*/
|
*/
|
||||||
@ -22,56 +23,66 @@ class SG_EXPORT Billboard : public Geode
|
|||||||
Billboard();
|
Billboard();
|
||||||
|
|
||||||
virtual Object* clone() const { return new Billboard(); }
|
virtual Object* clone() const { return new Billboard(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Billboard*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Billboard*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Billboard"; }
|
virtual const char* className() const { return "Billboard"; }
|
||||||
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
||||||
|
|
||||||
|
|
||||||
void setAxis(const Vec3& axis) { _axis = axis; }
|
/** Set the axis about which all the billboard's drawable rotate. */
|
||||||
void getAxis(Vec3& axis) const { axis = _axis; }
|
inline void setAxis(const Vec3& axis) { _axis = axis; }
|
||||||
|
/** Get the axis about which all the billboard's drawable rotate. */
|
||||||
|
inline const Vec3& getAxis() const { return _axis; }
|
||||||
|
|
||||||
void setMode(Mode mode) { _mode = mode; }
|
/** Set the billboard rotation mode. */
|
||||||
int getMode() const { return _mode; }
|
inline void setMode(const Mode mode) { _mode = mode; }
|
||||||
|
/** Get the billboard rotation mode. */
|
||||||
|
inline const Mode getMode() const { return _mode; }
|
||||||
|
|
||||||
void setPos(int i,const Vec3& pos) { _positionList[i] = pos; }
|
/** Set the position of specified drawable. */
|
||||||
void getPos(int i,Vec3& pos) const { pos = _positionList[i]; }
|
inline void setPos(int i,const Vec3& pos) { _positionList[i] = pos; }
|
||||||
|
/** Get the position of specified drawable. */
|
||||||
|
inline const Vec3& getPos(int i) const { return _positionList[i]; }
|
||||||
|
|
||||||
/** Add GeoSet to Billboard with default position(0,0,0);
|
/** PositionList represents a list of pivot points for each drawable.*/
|
||||||
|
typedef std::vector<Vec3> PositionList;
|
||||||
|
|
||||||
|
/** Get the PostionList from the billboard.*/
|
||||||
|
inline PositionList& getPositionList() { return _positionList; }
|
||||||
|
/** Get a const PostionList from the billboard.*/
|
||||||
|
inline const PositionList& getPositionList() const { return _positionList; }
|
||||||
|
|
||||||
|
/** Add Drawable to Billboard with default position(0,0,0);
|
||||||
* If gset not NULL and is not contained in Billboard then increment its
|
* If gset not NULL and is not contained in Billboard then increment its
|
||||||
* reference count, and dirty the bounding box to cause it to recompute on
|
* reference count, and dirty the bounding box to cause it to recompute on
|
||||||
* next getBound() and return true for success. Otherwise return false.
|
* next getBound() and return true for success. Otherwise return false.
|
||||||
*/
|
*/
|
||||||
virtual bool addGeoSet( GeoSet *gset );
|
virtual const bool addDrawable( Drawable *gset );
|
||||||
|
|
||||||
/** Add GeoSet to Geode at position pos.
|
/** Add Drawable to Geode at position pos.
|
||||||
* If gset not NULL and is not contained in Billboard then increment its
|
* If gset not NULL and is not contained in Billboard then increment its
|
||||||
* reference count, and dirty the bounding box to cause it to recompute on
|
* reference count, and dirty the bounding box to cause it to recompute on
|
||||||
* next getBound() and return true for success. Otherwise return false.
|
* next getBound() and return true for success. Otherwise return false.
|
||||||
*/
|
*/
|
||||||
virtual bool addGeoSet(GeoSet *gset,const Vec3& pos);
|
virtual const bool addDrawable(Drawable *gset,const Vec3& pos);
|
||||||
|
|
||||||
/** Remove GeoSet and associated position from Billboard.
|
/** Remove Drawable and associated position from Billboard.
|
||||||
* If gset is contained in Billboard then remove it from the geoset
|
* If gset is contained in Billboard then remove it from the geoset
|
||||||
* list and decrement its reference count, and dirty the
|
* list and decrement its reference count, and dirty the
|
||||||
* bounding box to cause it to recompute on next getBound() and
|
* bounding box to cause it to recompute on next getBound() and
|
||||||
* return true for success. If gset is not found then return false
|
* return true for success. If gset is not found then return false
|
||||||
* and do not the reference count of gset is left unchanged.
|
* and do not the reference count of gset is left unchanged.
|
||||||
*/
|
*/
|
||||||
virtual bool removeGeoSet( GeoSet *gset );
|
virtual const bool removeDrawable( Drawable *gset );
|
||||||
|
|
||||||
void calcRotation(const Vec3& eye_local, const Vec3& pos_local,Matrix& mat);
|
void calcRotation(const Vec3& eye_local, const Vec3& pos_local,Matrix& mat) const;
|
||||||
void calcTransform(const Vec3& eye_local, const Vec3& pos_local,Matrix& mat);
|
void calcTransform(const Vec3& eye_local, const Vec3& pos_local,Matrix& mat) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~Billboard();
|
virtual ~Billboard();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
virtual const bool computeBound() const;
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
virtual bool computeBound( void );
|
|
||||||
|
|
||||||
typedef std::vector<Vec3> PositionList;
|
|
||||||
|
|
||||||
Mode _mode;
|
Mode _mode;
|
||||||
Vec3 _axis;
|
Vec3 _axis;
|
||||||
|
@ -29,7 +29,7 @@ class SG_EXPORT BoundingBox
|
|||||||
_max(-FLT_MAX,-FLT_MAX,-FLT_MAX) {}
|
_max(-FLT_MAX,-FLT_MAX,-FLT_MAX) {}
|
||||||
|
|
||||||
/** initialize to invalid values to represent an unset bounding box.*/
|
/** initialize to invalid values to represent an unset bounding box.*/
|
||||||
void init()
|
inline void init()
|
||||||
{
|
{
|
||||||
_min.set(FLT_MAX,FLT_MAX,FLT_MAX);
|
_min.set(FLT_MAX,FLT_MAX,FLT_MAX);
|
||||||
_max.set(-FLT_MAX,-FLT_MAX,-FLT_MAX);
|
_max.set(-FLT_MAX,-FLT_MAX,-FLT_MAX);
|
||||||
@ -37,44 +37,44 @@ class SG_EXPORT BoundingBox
|
|||||||
|
|
||||||
/** return true if the bounding box contains valid values,
|
/** return true if the bounding box contains valid values,
|
||||||
false if the bounding box is effectively unset/empty.*/
|
false if the bounding box is effectively unset/empty.*/
|
||||||
bool isValid() const
|
inline const bool isValid() const
|
||||||
{
|
{
|
||||||
return _max.x()>=_min.x();
|
return _max.x()>=_min.x();
|
||||||
}
|
}
|
||||||
|
|
||||||
float& xMin() { return _min.x(); }
|
inline float& xMin() { return _min.x(); }
|
||||||
float xMin() const { return _min.x(); }
|
inline const float xMin() const { return _min.x(); }
|
||||||
|
|
||||||
float& yMin() { return _min.y(); }
|
inline float& yMin() { return _min.y(); }
|
||||||
float yMin() const { return _min.y(); }
|
inline const float yMin() const { return _min.y(); }
|
||||||
|
|
||||||
float& zMin() { return _min.z(); }
|
inline float& zMin() { return _min.z(); }
|
||||||
float zMin() const { return _min.z(); }
|
inline const float zMin() const { return _min.z(); }
|
||||||
|
|
||||||
float& xMax() { return _max.x(); }
|
inline float& xMax() { return _max.x(); }
|
||||||
float xMax() const { return _max.x(); }
|
inline const float xMax() const { return _max.x(); }
|
||||||
|
|
||||||
float& yMax() { return _max.y(); }
|
inline float& yMax() { return _max.y(); }
|
||||||
float yMax() const { return _max.y(); }
|
inline const float yMax() const { return _max.y(); }
|
||||||
|
|
||||||
float& zMax() { return _max.z(); }
|
inline float& zMax() { return _max.z(); }
|
||||||
float zMax() const { return _max.z(); }
|
inline const float zMax() const { return _max.z(); }
|
||||||
|
|
||||||
/** Calculate and return the center of the bounding box.*/
|
/** Calculate and return the center of the bounding box.*/
|
||||||
Vec3 center() const
|
inline const Vec3 center() const
|
||||||
{
|
{
|
||||||
return (_min+_max)*0.5f;
|
return (_min+_max)*0.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Calculate and return the radius of the bounding box.*/
|
/** Calculate and return the radius of the bounding box.*/
|
||||||
float radius() const
|
inline const float radius() const
|
||||||
{
|
{
|
||||||
return sqrtf(radius2());
|
return sqrtf(radius2());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Calculate and return the radius squared of the bounding box.
|
/** Calculate and return the radius squared of the bounding box.
|
||||||
Note, radius2() is faster to calculate than radius().*/
|
Note, radius2() is faster to calculate than radius().*/
|
||||||
float radius2() const
|
inline const float radius2() const
|
||||||
{
|
{
|
||||||
return 0.25f*((_max-_min).length2());
|
return 0.25f*((_max-_min).length2());
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@ class SG_EXPORT BoundingBox
|
|||||||
the first bit toggles between x min and x max, second
|
the first bit toggles between x min and x max, second
|
||||||
bit toggles between y min and y max, third bit toggles
|
bit toggles between y min and y max, third bit toggles
|
||||||
between z min and z max.*/
|
between z min and z max.*/
|
||||||
Vec3 corner(unsigned int pos) const
|
inline const Vec3 corner(unsigned int pos) const
|
||||||
{
|
{
|
||||||
return Vec3(pos&1?_max.x():_min.x(),pos&2?_max.y():_min.y(),pos&4?_max.z():_min.z());
|
return Vec3(pos&1?_max.x():_min.x(),pos&2?_max.y():_min.y(),pos&4?_max.z():_min.z());
|
||||||
}
|
}
|
||||||
@ -102,7 +102,7 @@ class SG_EXPORT BoundingBox
|
|||||||
void expandBy(const BoundingSphere& sh);
|
void expandBy(const BoundingSphere& sh);
|
||||||
|
|
||||||
/** return true is vertex v is within the box.*/
|
/** return true is vertex v is within the box.*/
|
||||||
bool contains(const Vec3& v)
|
inline const bool contains(const Vec3& v) const
|
||||||
{
|
{
|
||||||
return isValid() &&
|
return isValid() &&
|
||||||
(v.x()>=_min.x() && v.x()<=_max.x()) &&
|
(v.x()>=_min.x() && v.x()<=_max.x()) &&
|
||||||
|
@ -23,7 +23,7 @@ class SG_EXPORT BoundingSphere
|
|||||||
BoundingSphere() : _center(0.0f,0.0f,0.0f),_radius(-1.0f) {}
|
BoundingSphere() : _center(0.0f,0.0f,0.0f),_radius(-1.0f) {}
|
||||||
|
|
||||||
/** initialize to invalid values to represent an unset bounding sphere.*/
|
/** initialize to invalid values to represent an unset bounding sphere.*/
|
||||||
void init()
|
inline void init()
|
||||||
{
|
{
|
||||||
_center.set(0.0f,0.0f,0.0f);
|
_center.set(0.0f,0.0f,0.0f);
|
||||||
_radius = -1.0f;
|
_radius = -1.0f;
|
||||||
@ -31,24 +31,25 @@ class SG_EXPORT BoundingSphere
|
|||||||
|
|
||||||
/** return true if the bounding sphere contains valid values,
|
/** return true if the bounding sphere contains valid values,
|
||||||
false if the bounding sphere is effectively unset.*/
|
false if the bounding sphere is effectively unset.*/
|
||||||
bool isValid() const { return _radius>=0.0f; }
|
inline const bool isValid() const { return _radius>=0.0f; }
|
||||||
|
|
||||||
|
|
||||||
/** return the const center of the bounding sphere.*/
|
|
||||||
const Vec3& center() const { return _center; }
|
|
||||||
/** return the center of the bounding sphere.*/
|
/** return the center of the bounding sphere.*/
|
||||||
Vec3& center() { return _center; }
|
inline Vec3& center() { return _center; }
|
||||||
|
/** return the const center of the bounding sphere.*/
|
||||||
|
inline const Vec3& center() const { return _center; }
|
||||||
|
|
||||||
|
/** return the radius of the bounding sphere.*/
|
||||||
|
inline float& radius() { return _radius; }
|
||||||
|
|
||||||
/** return the const radius of the bounding sphere.*/
|
/** return the const radius of the bounding sphere.*/
|
||||||
float radius() const { return _radius; }
|
inline const float radius() const { return _radius; }
|
||||||
/** return the radius of the bounding sphere.*/
|
|
||||||
float& radius() { return _radius; }
|
|
||||||
|
|
||||||
/** return the radius squared.
|
/** return the radius squared.
|
||||||
Note, for performance reasons, assumes the calling method has ensured
|
Note, for performance reasons, assumes the calling method has ensured
|
||||||
that the sphere is valid before calling radius2(), i.e. has _radius>=0.0,
|
that the sphere is valid before calling radius2(), i.e. has _radius>=0.0,
|
||||||
as it does not check th validity of sphere and will eroneously return a positive value.*/
|
as it does not check th validity of sphere and will eroneously return a positive value.*/
|
||||||
float radius2() const { return _radius*_radius; }
|
inline const float radius2() const { return _radius*_radius; }
|
||||||
|
|
||||||
/** If the vertex is outwith the sphere expand to ecompass vertex.
|
/** If the vertex is outwith the sphere expand to ecompass vertex.
|
||||||
Calculates the combination of movement of center and radius which
|
Calculates the combination of movement of center and radius which
|
||||||
@ -73,11 +74,18 @@ class SG_EXPORT BoundingSphere
|
|||||||
void expandRadiusBy(const BoundingSphere& sh);
|
void expandRadiusBy(const BoundingSphere& sh);
|
||||||
|
|
||||||
/** return true is vertex v is within the sphere.*/
|
/** return true is vertex v is within the sphere.*/
|
||||||
bool contains(const Vec3& v)
|
inline const bool contains(const Vec3& v) const
|
||||||
{
|
{
|
||||||
return isValid() && ((v-_center).length2()<=radius2());
|
return isValid() && ((v-_center).length2()<=radius2());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** return true if bounding sphere's intersect each other.*/
|
||||||
|
inline const bool intersects( const BoundingSphere& bs ) const
|
||||||
|
{
|
||||||
|
return isValid() && bs.isValid() &&
|
||||||
|
((_center - bs._center).length2() <= (_radius + bs._radius)*(_radius + bs._radius));
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
#ifndef OSG_CAMERA
|
#ifndef OSG_CAMERA
|
||||||
#define OSG_CAMERA 1
|
#define OSG_CAMERA 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/ref_ptr>
|
||||||
#include <osg/Scene>
|
#include <osg/Referenced>
|
||||||
|
#include <osg/Matrix>
|
||||||
|
#include <osg/Quat>
|
||||||
|
#include <osg/ClippingVolume>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Camera class for encapsulating the view position and orientation.
|
/** Camera class for encapsulating the view position and orientation and
|
||||||
* This is the first implementation of osg::Camera class and
|
* projection (lens) used. Creates a projection and modelview matrices
|
||||||
* currently is a perspective camera, but in future will be
|
* which can be used to set OpenGL's PROJECTION and MODELVIEW matrices
|
||||||
* a base class from which PerpsectivCamera,FrustumCamera and OrthoCamera
|
* represectively.
|
||||||
* will be derived.
|
*/
|
||||||
*/
|
|
||||||
class SG_EXPORT Camera: public osg::Referenced
|
class SG_EXPORT Camera: public osg::Referenced
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -20,19 +22,91 @@ class SG_EXPORT Camera: public osg::Referenced
|
|||||||
Camera();
|
Camera();
|
||||||
virtual ~Camera();
|
virtual ~Camera();
|
||||||
|
|
||||||
|
/** Range of projection types.
|
||||||
|
* OTHO2D is a special case of OTHO where the near and far planes
|
||||||
|
* are equal to -1 and 1 respectively.
|
||||||
|
* PRESPECTIVE is a special case of FRUSTUM where the left & right
|
||||||
|
* and bottom and top and symetrical.*/
|
||||||
|
enum ProjectionType
|
||||||
|
{
|
||||||
|
ORTHO,
|
||||||
|
ORTHO2D,
|
||||||
|
FRUSTUM,
|
||||||
|
PERSPECTIVE
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/** Get the projection type set by setOtho,setOtho2D,setFrustum,
|
||||||
* Set field of view and window aspect ratio.
|
* and set perspective methods.*/
|
||||||
* The parameters have the same meaning as their counterparts
|
const ProjectionType getProjectionType() const { return _projectionType; }
|
||||||
* in gluPerspective(fovy,aspectRatio
|
|
||||||
*/
|
|
||||||
void setFieldOfView(double fovy,double aspectRatio);
|
|
||||||
|
|
||||||
void setFieldOfViewY(double fovy) { _fovy = fovy; }
|
/** Set a orthographics projection. See glOrtho for further details.*/
|
||||||
double getFieldOfViewY() const { return _fovy; }
|
void setOrtho(const double left, const double right,
|
||||||
|
const double bottom, const double top,
|
||||||
|
const double zNear, const double zFar);
|
||||||
|
|
||||||
void setAspectRatio(double aspectRatio) { _aspectRatio = aspectRatio; }
|
/** Set a 2D orthographics projection. See gluOrtho2D for further details.*/
|
||||||
double getAspectRatio() const { return _aspectRatio; }
|
void setOrtho2D(const double left, const double right,
|
||||||
|
const double bottom, const double top);
|
||||||
|
|
||||||
|
/** Set a perspective projection. See glFrustum for further details.*/
|
||||||
|
void setFrustum(const double left, const double right,
|
||||||
|
const double bottom, const double top,
|
||||||
|
const double zNear, const double zFar);
|
||||||
|
|
||||||
|
/** Set a sysmetical perspective projection, See gluPerspective for further details.
|
||||||
|
* Aspect ratio is defined as width/height.*/
|
||||||
|
void setPerspective(const double fovy,const double aspectRatio,
|
||||||
|
const double zNear, const double zFar);
|
||||||
|
|
||||||
|
|
||||||
|
/** Set the near and far clipping planes.*/
|
||||||
|
void setNearFar(const double zNear, const double zFar);
|
||||||
|
|
||||||
|
/** Use in combination with adjustAspectRatio, to control
|
||||||
|
* the change in frustum clipping planes to account for
|
||||||
|
* changes in windows aspect ratio,*/
|
||||||
|
enum AdjustAxis
|
||||||
|
{
|
||||||
|
ADJUST_VERTICAL,
|
||||||
|
ADJUST_HORIZONTAL
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Adjust the clipping planes to account for a new window aspcect ratio.
|
||||||
|
* Typicall used after resizeing a window. Aspect ratio is defined as
|
||||||
|
* width/height.*/
|
||||||
|
void adjustAspectRatio(const double newAspectRatio, const AdjustAxis aa = ADJUST_HORIZONTAL);
|
||||||
|
|
||||||
|
const double left() const;
|
||||||
|
const double right() const;
|
||||||
|
const double top() const;
|
||||||
|
const double bottom() const;
|
||||||
|
const double zNear() const;
|
||||||
|
const double zFar() const;
|
||||||
|
|
||||||
|
/** Calculate and return the equivilant fovx for the current project setting.
|
||||||
|
* This value is only valid for when a symetric persepctive projection exists.
|
||||||
|
* i.e. getProjectionType()==PERSPECTIVE.*/
|
||||||
|
const double calc_fovy() const;
|
||||||
|
|
||||||
|
/** Calculate and return the equivilant fovy for the current project setting.
|
||||||
|
* This value is only valid for when a symetric persepctive projection exists.
|
||||||
|
* i.e. getProjectionType()==PERSPECTIVE.*/
|
||||||
|
const double calc_fovx() const;
|
||||||
|
|
||||||
|
/** Calculate and return the projection aspect ratio.
|
||||||
|
* Aspect ratio is defined as width/height.*/
|
||||||
|
const double calc_aspectRatio() const;
|
||||||
|
|
||||||
|
const Matrix& getProjectionMatrix() const;
|
||||||
|
|
||||||
|
enum LookAtType
|
||||||
|
{
|
||||||
|
USE_HOME_POSITON,
|
||||||
|
USE_EYE_AND_QUATERNION,
|
||||||
|
USE_EYE_CENTER_AND_UP
|
||||||
|
};
|
||||||
|
|
||||||
|
const LookAtType getLookAtType() const { return _lookAtType; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hardwired home view for now, looking straight down the
|
* hardwired home view for now, looking straight down the
|
||||||
@ -41,96 +115,171 @@ class SG_EXPORT Camera: public osg::Referenced
|
|||||||
void home();
|
void home();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the View, the up vector should be orthogonal to the
|
* Set the View, the up vector should be orthogonal to the look vector.
|
||||||
* look vector.
|
* setView is now mapped to setLookAt(eye,center,up), and is only
|
||||||
*/
|
* kept for backwards compatibility.
|
||||||
void setView(Vec3 eyePoint,
|
*/
|
||||||
Vec3 lookPoint,
|
void setView(const Vec3& eyePoint,
|
||||||
Vec3 upVector);
|
const Vec3& lookPoint,
|
||||||
|
const Vec3& upVector);
|
||||||
|
|
||||||
/** get the eyepoint. */
|
/** set the position and orientaion of the camera, using the same convention as
|
||||||
const Vec3& getEyePoint() const {return _eyePoint;}
|
* gluLookAt.
|
||||||
|
*/
|
||||||
|
void setLookAt(const Vec3& eye,
|
||||||
|
const Vec3& center,
|
||||||
|
const Vec3& up);
|
||||||
|
|
||||||
/** get the lookpoint. */
|
/** set the position and orientaion of the camera, using the same convention as
|
||||||
const Vec3& getLookPoint() const {return _lookPoint;}
|
* gluLookAt.
|
||||||
|
*/
|
||||||
|
void setLookAt(const double eyeX, const double eyeY, const double eyeZ,
|
||||||
|
const double centerX, const double centerY, const double centerZ,
|
||||||
|
const double upX, const double upY, const double upZ);
|
||||||
|
|
||||||
/** which way is up? */
|
/** post multiple the existing eye point and orientation by matrix.
|
||||||
const Vec3& getUpVector() const {return _upVector;}
|
* note, does not affect any ModelTransforms that are applied.*/
|
||||||
|
void transformLookAt(const Matrix& matrix);
|
||||||
/** calculate side vector.*/
|
|
||||||
Vec3 getSideVector() const
|
|
||||||
{
|
|
||||||
Vec3 sv = (_lookPoint-_eyePoint)^_upVector;
|
|
||||||
sv.normalize();
|
|
||||||
return sv;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** calculate look vector.*/
|
|
||||||
Vec3 getLookVector() const
|
|
||||||
{
|
|
||||||
Vec3 lv = (_lookPoint-_eyePoint);
|
|
||||||
lv.normalize();
|
|
||||||
return lv;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** calculate focal distance.*/
|
|
||||||
float getFocalDistance() const
|
|
||||||
{
|
|
||||||
return (_lookPoint-_eyePoint).length();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** set the near plane. */
|
|
||||||
void setNearPlane(double nearPlane) {_nearPlane=nearPlane;}
|
|
||||||
|
|
||||||
/**get the near plane. */
|
|
||||||
double getNearPlane() const {return _nearPlane;}
|
|
||||||
|
|
||||||
/** set the far plane. */
|
|
||||||
void setFarPlane(double farPlane) {_farPlane=farPlane;}
|
|
||||||
|
|
||||||
/** get the far plane. */
|
|
||||||
double getFarPlane() const {return _farPlane;}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Set up the OpenGL GL_PROJECTION matrix.
|
|
||||||
Enters the GL_PROJECTION mode, sets up matrix, then
|
|
||||||
resets model GL_MODELVIEW, which is by OpenGL convention the default.*/
|
|
||||||
void draw_PROJECTION() const;
|
|
||||||
|
|
||||||
/** Set up the OpenGL GL_MODELVIEW matrix.
|
|
||||||
* Enters the GL_MODELVIEW mode, sets matrix to identity
|
|
||||||
* and then sets matrix up according to camera, eye point, center
|
|
||||||
* point and upvector.
|
|
||||||
*/
|
|
||||||
void draw_MODELVIEW() const;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** post multiply a camera by matrix.*/
|
|
||||||
void mult(const Camera& camera,const Matrix& m);
|
|
||||||
|
|
||||||
/** pre multiply a camera by matrix.*/
|
|
||||||
void mult(const Matrix& m,const Camera& camera);
|
|
||||||
|
|
||||||
void ensureOrthogonalUpVector();
|
void ensureOrthogonalUpVector();
|
||||||
|
|
||||||
|
/** get the eye point. */
|
||||||
|
inline const Vec3& getEyePoint() const { return _eye; }
|
||||||
|
|
||||||
private:
|
/** get the center point. */
|
||||||
|
inline const Vec3& getCenterPoint() const { return _center; }
|
||||||
|
|
||||||
|
/** get the up vector */
|
||||||
|
inline const Vec3& getUpVector() const { return _up; }
|
||||||
|
|
||||||
|
/** calculate look vector.*/
|
||||||
|
const Vec3 getLookVector() const;
|
||||||
|
|
||||||
|
/** calculate side vector.*/
|
||||||
|
const Vec3 getSideVector() const;
|
||||||
|
|
||||||
|
/** get focal distance.*/
|
||||||
|
inline const float getFocalLength() const { return _focalLength; }
|
||||||
|
|
||||||
|
|
||||||
|
enum TransformMode
|
||||||
|
{
|
||||||
|
EYE_TO_MODEL,
|
||||||
|
MODEL_TO_EYE,
|
||||||
|
NO_ATTACHED_TRANSFORM
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** Attach a transform matrix which is applied after the camera look at.
|
||||||
|
* The attached matrix can work in two ways, either as transform of the eye
|
||||||
|
* into the model coordinates - EYE_TO_MODEL, or as a transform of the
|
||||||
|
* model to the eye - MODEL_TO_EYE. The former is equivilant to attaching
|
||||||
|
* a camera internal to the scene graph. The later is equivilant to adding
|
||||||
|
* a osg::Transform at root of the scene to move the scene to the eye point.
|
||||||
|
* Typical used in conjunction with the LookAt position set to home,
|
||||||
|
* in which case it is simply treated as a model view matrix.
|
||||||
|
* If the same behaviour as IRIS Performer's setViewMat is desired
|
||||||
|
* then set the LookAt to be (0,0,0),(0,1,0),(0,0,1) since Performer's
|
||||||
|
* default direction is along the y axis, unlike OpenGL and the default OSG.
|
||||||
|
* If modelTransfor is NULL then do not use any model transform - just use the
|
||||||
|
* basic LookAt values.
|
||||||
|
* note: Camera internals maintains the both EYE_TO_MODEL and MODEL_TO_EYE
|
||||||
|
* internally and ensures that they are the inverse of one another. However,
|
||||||
|
* if you modify the attached transform then you must call dirtyTransform, to
|
||||||
|
* allow the OSG to update matrices accordingly.*/
|
||||||
|
void attachTransform(const TransformMode mode, Matrix* modelTransform=0);
|
||||||
|
|
||||||
|
/** must be called after you modify an attachedTransform. */
|
||||||
|
void dirtyTransform();
|
||||||
|
|
||||||
|
Matrix* getTransform(const TransformMode mode);
|
||||||
|
|
||||||
|
const Matrix* getTransform(const TransformMode mode) const;
|
||||||
|
|
||||||
|
|
||||||
|
const Vec3 getEyePoint_Model() const;
|
||||||
|
const Vec3 getCenterPoint_Model() const;
|
||||||
|
const Vec3 getLookVector_Model() const;
|
||||||
|
const Vec3 getUpVector_Model() const;
|
||||||
|
const Vec3 getSideVector_Model() const;
|
||||||
|
|
||||||
|
/** Get the ModelView matrix.
|
||||||
|
* If a ModelTransform is supplied then the ModelView matrix is
|
||||||
|
* created by multipling the current LookAt by ModelTransform.
|
||||||
|
* Otherwise it is simply created by using the current LookAt,
|
||||||
|
* equivialent to using gluLookAt.*/
|
||||||
|
const Matrix& getModelViewMatrix() const;
|
||||||
|
|
||||||
|
|
||||||
|
void setUseNearClippingPlane(const bool use);
|
||||||
|
const bool getUseNearClippingPlane() const { return _useNearClippingPlane; }
|
||||||
|
|
||||||
|
void setUseFarClippingPlane(const bool use);
|
||||||
|
const bool getUseFarClippingPlane() const { return _useFarClippingPlane; }
|
||||||
|
|
||||||
|
/** get the view frustum clipping in model coordinates */
|
||||||
|
const ClippingVolume& getClippingVolume() const;
|
||||||
|
|
||||||
|
|
||||||
|
/** Map object coordinates into windows coordinates.
|
||||||
|
* Equivilant to gluProject(...). */
|
||||||
|
const bool project(const Vec3& obj,const int* viewport,Vec3& win) const;
|
||||||
|
|
||||||
|
/** Map window coordinates into object coordinates.
|
||||||
|
* Equivilant to gluUnProject(...). */
|
||||||
|
const bool unproject(const Vec3& win,const int* viewport,Vec3& obj) const;
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
// Disallow copy construction & assignment (for now)
|
// Disallow copy construction & assignment (for now)
|
||||||
Camera(const Camera&);
|
Camera(const Camera&);
|
||||||
Camera& operator=(const Camera&);
|
Camera& operator=(const Camera&);
|
||||||
|
|
||||||
Vec3 _eyePoint;
|
// projection details.
|
||||||
Vec3 _lookPoint;
|
ProjectionType _projectionType;
|
||||||
Vec3 _upVector;
|
|
||||||
|
// note, in Frustum/Perspective mode these values are scaled
|
||||||
|
// by the zNear from when they were initialised to ensure that
|
||||||
|
// subsequent changes in zNear do not affect them.
|
||||||
|
double _left;
|
||||||
|
double _right;
|
||||||
|
double _bottom;
|
||||||
|
double _top;
|
||||||
|
|
||||||
|
double _zNear;
|
||||||
|
double _zFar;
|
||||||
|
|
||||||
|
|
||||||
|
// look at details.
|
||||||
|
LookAtType _lookAtType;
|
||||||
|
|
||||||
|
Vec3 _eye;
|
||||||
|
Vec3 _center;
|
||||||
|
Vec3 _up;
|
||||||
|
|
||||||
|
double _focalLength;
|
||||||
|
|
||||||
|
TransformMode _attachedTransformMode;
|
||||||
|
ref_ptr<Matrix> _eyeToModelTransform;
|
||||||
|
ref_ptr<Matrix> _modelToEyeTransform;
|
||||||
|
|
||||||
|
// flags to determin if near and far clipping planes are required.
|
||||||
|
bool _useNearClippingPlane;
|
||||||
|
bool _useFarClippingPlane;
|
||||||
|
|
||||||
|
// cached matrix and clipping volume derived from above settings.
|
||||||
|
mutable bool _dirty;
|
||||||
|
mutable ref_ptr<Matrix> _projectionMatrix;
|
||||||
|
mutable ref_ptr<Matrix> _modelViewMatrix;
|
||||||
|
mutable ClippingVolume _clippingVolume;
|
||||||
|
|
||||||
|
mutable ref_ptr<Matrix> _MP;
|
||||||
|
mutable ref_ptr<Matrix> _inverseMP;
|
||||||
|
|
||||||
|
void calculateMatricesAndClippingVolume() const;
|
||||||
|
|
||||||
double _fovy;
|
|
||||||
double _aspectRatio;
|
|
||||||
|
|
||||||
double _nearPlane; // No Dougal, these are small... but those...
|
|
||||||
double _farPlane; // are far away
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -1,47 +1,46 @@
|
|||||||
#ifndef OSG_CULLFACE
|
#ifndef OSG_CULLFACE
|
||||||
#define OSG_CULLFACE 1
|
#define OSG_CULLFACE 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <osg/Object>
|
|
||||||
#include <osg/GL>
|
#include <osg/GL>
|
||||||
|
#include <osg/StateAttribute>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Class to globally enable/disable OpenGL's polygon culling mode
|
/** Class to globally enable/disable OpenGL's polygon culling mode=.
|
||||||
(GL_CULL_FACE).
|
|
||||||
*/
|
*/
|
||||||
class SG_EXPORT CullFace : public Object
|
class SG_EXPORT CullFace : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
|
CullFace();
|
||||||
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const CullFace*>(obj)!=0L; }
|
||||||
|
virtual Object* clone() const { return new CullFace(); }
|
||||||
|
virtual const char* className() const { return "CullFace"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return CULLFACE; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_CULL_FACE,value);
|
||||||
|
}
|
||||||
|
|
||||||
enum Mode {
|
enum Mode {
|
||||||
FRONT = GL_FRONT,
|
FRONT = GL_FRONT,
|
||||||
BACK = GL_BACK,
|
BACK = GL_BACK,
|
||||||
FRONT_AND_BACK = GL_FRONT_AND_BACK
|
FRONT_AND_BACK = GL_FRONT_AND_BACK
|
||||||
};
|
};
|
||||||
|
|
||||||
CullFace();
|
inline void setMode(const Mode mode) { _mode = mode; }
|
||||||
static CullFace* instance();
|
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<CullFace*>(obj)!=NULL; }
|
|
||||||
virtual Object* clone() const { return new CullFace(); }
|
|
||||||
virtual const char* className() const { return "CullFace"; }
|
|
||||||
|
|
||||||
void setMode(Mode mode) { _mode = mode; }
|
inline const Mode getMode() const { return _mode; }
|
||||||
|
|
||||||
/** Enable the polygon culling mode.*/
|
virtual void apply(State& state) const;
|
||||||
static void enable();
|
|
||||||
/** Disable the polygon culling mode.*/
|
|
||||||
static void disable();
|
|
||||||
|
|
||||||
void apply();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~CullFace();
|
virtual ~CullFace();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
Mode _mode;
|
Mode _mode;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -5,18 +5,6 @@
|
|||||||
#pragma warning( disable : 4251 )
|
#pragma warning( disable : 4251 )
|
||||||
#pragma warning( disable : 4275 )
|
#pragma warning( disable : 4275 )
|
||||||
#pragma warning( disable : 4786 )
|
#pragma warning( disable : 4786 )
|
||||||
|
|
||||||
/* Define NULL pointer value */
|
|
||||||
|
|
||||||
#ifndef NULL
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define NULL 0
|
|
||||||
#else
|
|
||||||
#define NULL ((void *)0)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
@ -29,4 +17,14 @@
|
|||||||
# define SG_EXPORT
|
# define SG_EXPORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Define NULL pointer value */
|
||||||
|
|
||||||
|
#ifndef NULL
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define NULL 0
|
||||||
|
#else
|
||||||
|
#define NULL ((void *)0)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,60 +1,59 @@
|
|||||||
#ifndef OSG_FOG
|
#ifndef OSG_FOG
|
||||||
#define OSG_FOG 1
|
#define OSG_FOG 1
|
||||||
|
|
||||||
#include <osg/GL>
|
|
||||||
#include <osg/Vec4>
|
|
||||||
#include <osg/Types>
|
#include <osg/Types>
|
||||||
#include <osg/Object>
|
#include <osg/Vec4>
|
||||||
|
#include <osg/StateAttribute>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
|
||||||
/** Fog - encapsulates OpenGL fog state. */
|
/** Fog - encapsulates OpenGL fog state. */
|
||||||
class SG_EXPORT Fog : public Object
|
class SG_EXPORT Fog : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
enum FogMode {
|
Fog();
|
||||||
|
virtual Object* clone() const { return new Fog(); }
|
||||||
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Fog*>(obj)!=NULL; }
|
||||||
|
virtual const char* className() const { return "Fog"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return FOG; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_FOG,value);
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Mode {
|
||||||
LINEAR = GL_LINEAR,
|
LINEAR = GL_LINEAR,
|
||||||
EXP = GL_EXP,
|
EXP = GL_EXP,
|
||||||
EXP2 = GL_EXP2
|
EXP2 = GL_EXP2
|
||||||
};
|
};
|
||||||
|
|
||||||
Fog( void );
|
inline void setMode( const Mode mode ) { _mode = mode; }
|
||||||
static Fog* instance();
|
inline Mode getMode() const { return _mode; }
|
||||||
virtual Object* clone() const { return new Fog(); }
|
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Fog*>(obj)!=NULL; }
|
|
||||||
virtual const char* className() const { return "Fog"; }
|
|
||||||
|
|
||||||
static void enable( void );
|
inline void setDensity( const float density ) { _density = density; }
|
||||||
static void disable( void );
|
inline const float getDensity() const { return _density; }
|
||||||
void apply( void );
|
|
||||||
|
|
||||||
void setMode( uint mode ) { _mode = mode; }
|
inline void setStart( const float start ) { _start = start; }
|
||||||
uint getMode( void ) { return _mode; }
|
inline const float getStart() const { return _start; }
|
||||||
|
|
||||||
void setDensity( float density ) { _density = density; }
|
inline void setEnd( const float end ) { _end = end; }
|
||||||
float getDensity( void ) { return _density; }
|
inline const float getEnd() const { return _end; }
|
||||||
|
|
||||||
void setStart( float start ) { _start = start; }
|
inline void setColor( const Vec4 &color ) { _color = color; }
|
||||||
float getStart( void ) { return _start; }
|
inline const Vec4& getColor() const { return _color; }
|
||||||
|
|
||||||
void setEnd( float end ) { _end = end; }
|
virtual void apply(State& state) const;
|
||||||
float getEnd( void ) { return _end; }
|
|
||||||
|
|
||||||
void setColor( Vec4 &color )
|
|
||||||
{
|
|
||||||
_color[0] = color[0];
|
|
||||||
_color[1] = color[1];
|
|
||||||
_color[2] = color[2];
|
|
||||||
_color[3] = color[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~Fog( void );
|
virtual ~Fog();
|
||||||
|
|
||||||
uint _mode;
|
Mode _mode;
|
||||||
float _density;
|
float _density;
|
||||||
float _start;
|
float _start;
|
||||||
float _end;
|
float _end;
|
||||||
|
105
include/osg/GL
105
include/osg/GL
@ -1,71 +1,62 @@
|
|||||||
#ifndef OSG_GL
|
#ifndef OSG_GL
|
||||||
#define OSG_GL 1
|
#define OSG_GL 1
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifndef WIN32
|
||||||
|
|
||||||
// this works with no problems
|
|
||||||
// #ifndef _WINDOWS_
|
|
||||||
// #define WIN32_LEAN_AND_MEAN
|
|
||||||
// #include <windows.h>
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
// follows lifted from glut.h, to avoid including <windows.h>
|
|
||||||
|
|
||||||
//#if defined(_WIN32)
|
|
||||||
|
|
||||||
// GLUT 3.7 now tries to avoid including <windows.h>
|
|
||||||
// to avoid name space pollution, but Win32's <GL/gl.h>
|
|
||||||
// needs APIENTRY and WINGDIAPI defined properly.
|
|
||||||
# if 0
|
|
||||||
# define WIN32_LEAN_AND_MEAN
|
|
||||||
# include <windows.h>
|
|
||||||
# else
|
|
||||||
// XXX This is from Win32's <windef.h>
|
|
||||||
# ifndef APIENTRY
|
|
||||||
# define GLUT_APIENTRY_DEFINED
|
|
||||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
|
||||||
# define APIENTRY __stdcall
|
|
||||||
# else
|
|
||||||
# define APIENTRY
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
// XXX This is from Win32's <winnt.h>
|
|
||||||
# ifndef CALLBACK
|
|
||||||
# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
|
|
||||||
# define CALLBACK __stdcall
|
|
||||||
# else
|
|
||||||
# define CALLBACK
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
// XXX This is from Win32's <wingdi.h> and <winnt.h>
|
|
||||||
# ifndef WINGDIAPI
|
|
||||||
# define GLUT_WINGDIAPI_DEFINED
|
|
||||||
# define WINGDIAPI __declspec(dllimport)
|
|
||||||
# endif
|
|
||||||
// XXX This is from Win32's <ctype.h>
|
|
||||||
# ifndef _WCHAR_T_DEFINED
|
|
||||||
typedef unsigned short wchar_t;
|
|
||||||
# define _WCHAR_T_DEFINED
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// non windows, doesn't require nonesense as seen below :-)
|
||||||
#ifndef __gl_h_
|
#ifndef __gl_h_
|
||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
#endif
|
#endif
|
||||||
#ifndef __glu_h__
|
|
||||||
#include <GL/glu.h>
|
// required for compatibility with glext.h sytle function definitions of
|
||||||
|
// OpenGL extensions, such as in src/osg/Point.cpp.
|
||||||
|
#ifndef APIENTRY
|
||||||
|
#define APIENTRY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// GL_GLEXT_LEGACY required by some Linux OpenGL implementations
|
// Under windows avoid including <windows.h>
|
||||||
// to allow compilation of glPointParameterfEXT.
|
// to avoid name space pollution, but Win32's <GL/gl.h>
|
||||||
#define GL_GLEXT_LEGACY 1
|
// needs APIENTRY and WINGDIAPI defined properly.
|
||||||
#include <GL/gl.h>
|
// F
|
||||||
#include <GL/glu.h>
|
# if 0
|
||||||
#include <GL/glx.h>
|
# define WIN32_LEAN_AND_MEAN
|
||||||
|
# include <windows.h>
|
||||||
|
# else
|
||||||
|
// XXX This is from Win32's <windef.h>
|
||||||
|
# ifndef APIENTRY
|
||||||
|
# define GLUT_APIENTRY_DEFINED
|
||||||
|
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
||||||
|
# define APIENTRY __stdcall
|
||||||
|
# else
|
||||||
|
# define APIENTRY
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
// XXX This is from Win32's <winnt.h>
|
||||||
|
# ifndef CALLBACK
|
||||||
|
# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
|
||||||
|
# define CALLBACK __stdcall
|
||||||
|
# else
|
||||||
|
# define CALLBACK
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
// XXX This is from Win32's <wingdi.h> and <winnt.h>
|
||||||
|
# ifndef WINGDIAPI
|
||||||
|
# define GLUT_WINGDIAPI_DEFINED
|
||||||
|
# define WINGDIAPI __declspec(dllimport)
|
||||||
|
# endif
|
||||||
|
// XXX This is from Win32's <ctype.h>
|
||||||
|
# ifndef _WCHAR_T_DEFINED
|
||||||
|
typedef unsigned short wchar_t;
|
||||||
|
# define _WCHAR_T_DEFINED
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#ifndef __gl_h_
|
||||||
|
#include <GL/gl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // __osgGL_h
|
#endif // __osgGL_h
|
||||||
|
@ -1,26 +1,21 @@
|
|||||||
#ifndef OSG_GEOSET
|
#ifndef OSG_GEOSET
|
||||||
#define OSG_GEOSET 1
|
#define OSG_GEOSET 1
|
||||||
|
|
||||||
#include <osg/OSG>
|
|
||||||
#include <osg/Vec2>
|
#include <osg/Vec2>
|
||||||
#include <osg/BoundingBox>
|
#include <osg/Vec3>
|
||||||
#include <osg/Object>
|
#include <osg/Vec4>
|
||||||
#include <osg/GeoState>
|
#include <osg/Drawable>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
|
||||||
class Input;
|
|
||||||
class Output;
|
|
||||||
|
|
||||||
/** Encapsulates OpenGL drawing primitives, geometry and
|
/** Encapsulates OpenGL drawing primitives, geometry and
|
||||||
optional binding of normal, color and texture coordinates. Used
|
optional binding of normal, color and texture coordinates. Used
|
||||||
for representing the visible objects in the scene. State attributes
|
for representing the visible objects in the scene. State attributes
|
||||||
for a GeoSet are maintained in GeoState which the GeoSet maintains
|
for a GeoSet are maintained in StateSet which the GeoSet maintains
|
||||||
a referenced counted pointer to. Both GeoSet's and GeoState's can
|
a referenced counted pointer to. Both GeoSet's and StateSet's can
|
||||||
be shared for optimal memory usage and graphics performance.
|
be shared for optimal memory usage and graphics performance.
|
||||||
*/
|
*/
|
||||||
class SG_EXPORT GeoSet : public Object
|
class SG_EXPORT GeoSet : public Drawable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -67,201 +62,275 @@ class SG_EXPORT GeoSet : public Object
|
|||||||
IA_T4F_C4F_N3F_V4F
|
IA_T4F_C4F_N3F_V4F
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct IndexPointer
|
||||||
|
{
|
||||||
|
|
||||||
|
uint _size;
|
||||||
|
bool _is_ushort;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
ushort* _ushort;
|
||||||
|
uint* _uint;
|
||||||
|
} _ptr;
|
||||||
|
|
||||||
|
IndexPointer() { _size=0;_is_ushort=true;_ptr._ushort = (ushort*)0; }
|
||||||
|
|
||||||
|
inline const bool operator == (const IndexPointer& ip) const
|
||||||
|
{
|
||||||
|
return _size == ip._size &&
|
||||||
|
_is_ushort == ip._is_ushort &&
|
||||||
|
_ptr._ushort == ip._ptr._ushort;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const bool valid() const
|
||||||
|
{
|
||||||
|
return _ptr._ushort != (ushort*)0;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const bool null() const
|
||||||
|
{
|
||||||
|
return _ptr._ushort == (ushort*)0;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setToNull()
|
||||||
|
{
|
||||||
|
_size = 0;
|
||||||
|
_is_ushort = true;
|
||||||
|
_ptr._ushort = (ushort*)0;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void set(uint size,ushort* data)
|
||||||
|
{
|
||||||
|
_size = size;
|
||||||
|
_is_ushort = true;
|
||||||
|
_ptr._ushort = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void set(const uint size,uint* data)
|
||||||
|
{
|
||||||
|
_size = size;
|
||||||
|
_is_ushort = false;
|
||||||
|
_ptr._uint = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const uint maxIndex() const
|
||||||
|
{
|
||||||
|
uint max = 0;
|
||||||
|
if (_is_ushort)
|
||||||
|
{
|
||||||
|
for(uint ai = 0; ai < _size; ai++ )
|
||||||
|
if( _ptr._ushort[ai] > max ) max = _ptr._ushort[ai];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for(uint ai = 0; ai < _size; ai++ )
|
||||||
|
if( _ptr._uint[ai] > max ) max = _ptr._uint[ai];
|
||||||
|
}
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const uint operator [] (const uint pos) const
|
||||||
|
{
|
||||||
|
if (_is_ushort) return _ptr._ushort[pos];
|
||||||
|
else return _ptr._uint[pos];
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
GeoSet();
|
GeoSet();
|
||||||
static GeoSet* instance();
|
|
||||||
virtual Object* clone() const { return new GeoSet(); }
|
virtual Object* clone() const { return new GeoSet(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<GeoSet*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const GeoSet*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Geoset"; }
|
virtual const char* className() const { return "GeoSet"; }
|
||||||
|
|
||||||
|
|
||||||
// data access methods.
|
// data access methods.
|
||||||
void setNumPrims( int n ) { _numprims = n; }
|
inline void setNumPrims( const int n ) { _numprims = n; }
|
||||||
int getNumPrims( void ) { return _numprims; }
|
inline const int getNumPrims() const { return _numprims; }
|
||||||
|
|
||||||
void setPrimType( PrimitiveType type );
|
void setPrimType( const PrimitiveType type );
|
||||||
PrimitiveType getPrimType( void ) { return _primtype; }
|
inline const PrimitiveType getPrimType() const { return _primtype; }
|
||||||
|
|
||||||
void setPrimLengths( int *lens ) { _primLengths = lens; }
|
inline void setPrimLengths( int *lens ) { _primLengths = lens; }
|
||||||
int *getPrimLengths( void ) { return _primLengths; }
|
inline int *getPrimLengths() { return _primLengths; }
|
||||||
|
inline const int *getPrimLengths() const { return _primLengths; }
|
||||||
|
|
||||||
void computeNumVerts();
|
void computeNumVerts();
|
||||||
|
|
||||||
/** get the number of coords required by the defined primitives. */
|
/** get the number of coords required by the defined primitives. */
|
||||||
int getNumCoords() { return _numcoords; }
|
inline const int getNumCoords() const { return _numcoords; }
|
||||||
/** get a pointer to Vec3 coord array. */
|
/** get a pointer to Vec3 coord array. */
|
||||||
Vec3* getCoords() { return _coords; }
|
inline Vec3* getCoords() { return _coords; }
|
||||||
|
/** get a const pointer to Vec3 coord array. */
|
||||||
|
inline const Vec3* getCoords() const { return _coords; }
|
||||||
/** get the number of indices required by the defined primitives. */
|
/** get the number of indices required by the defined primitives. */
|
||||||
int getNumIndices() { return _numindices; }
|
inline const int getNumCoordIndices() const { return _cindex._size; }
|
||||||
/** get the coord index array. */
|
/** get the coord index array. */
|
||||||
ushort* getCIndex() { return _cindex; }
|
inline IndexPointer& getCoordIndices() { return _cindex; }
|
||||||
|
/** get the const coord index array. */
|
||||||
|
inline const IndexPointer& getCoordIndices() const { return _cindex; }
|
||||||
/** set the coords (i.e the geometry) of the geoset.*/
|
/** set the coords (i.e the geometry) of the geoset.*/
|
||||||
void setCoords( Vec3 *cp );
|
void setCoords( Vec3 *cp );
|
||||||
/** set the coords (i.e the geometry) and indices of the geoset.*/
|
/** set the coords (i.e the geometry) and ushort indices of the geoset.
|
||||||
|
To reduce memory footprint and bandwidth for small datasets it is
|
||||||
|
recommended the ushort undices are used instead of unit indices.*/
|
||||||
void setCoords( Vec3 *cp, ushort *ci );
|
void setCoords( Vec3 *cp, ushort *ci );
|
||||||
|
/** set the coords (i.e the geometry) and uint indices of the geoset.
|
||||||
|
Unless your data set exceeds 65536 indices prefer ushort indices
|
||||||
|
over uint indices, only use this unit indices version if neccessary.*/
|
||||||
|
void setCoords( Vec3 *cp, uint *ci );
|
||||||
|
/** set the coords (i.e the geometry) and indices of the geoset.*/
|
||||||
|
void setCoords( Vec3 *cp, IndexPointer& ip );
|
||||||
|
|
||||||
/** get the number of normals required by the defined primitives and normals binding.*/
|
/** get the number of normals required by the defined primitives and normals binding.*/
|
||||||
int getNumNormals() { return _numnormals; }
|
inline const int getNumNormals() const { return _numnormals; }
|
||||||
/** get a pointer to Vec3 normal array. */
|
/** get a pointer to Vec3 normal array. */
|
||||||
Vec3* getNormals() { return _normals; }
|
inline Vec3* getNormals() { return _normals; }
|
||||||
|
/** get a const pointer to Vec3 normal array. */
|
||||||
|
inline const Vec3* getNormals() const { return _normals; }
|
||||||
/** get the number of normal indices required by the defined primitives and normals binding.*/
|
/** get the number of normal indices required by the defined primitives and normals binding.*/
|
||||||
int getNumNIndices() { return _numnindices; }
|
inline int getNumNormalIndices() const { return _nindex._size; }
|
||||||
/** get the normal index array. */
|
/** get the normal index array. */
|
||||||
ushort* getNIndex() { return _nindex; }
|
inline IndexPointer& getNormalIndices() { return _nindex; }
|
||||||
|
/** get the const normal index array. */
|
||||||
|
inline const IndexPointer& getNormalIndices() const { return _nindex; }
|
||||||
/** set the normals of the geoset.*/
|
/** set the normals of the geoset.*/
|
||||||
void setNormals( Vec3 *np );
|
void setNormals( Vec3 *np );
|
||||||
/** set the normals and normal indices of the geoset.*/
|
/** set the normals and normal indices of the geoset.*/
|
||||||
void setNormals( Vec3 *np, ushort *ni );
|
void setNormals( Vec3 *np, ushort *ni );
|
||||||
|
/** set the normals and normal indices of the geoset.*/
|
||||||
|
void setNormals( Vec3 *np, uint *ni );
|
||||||
|
/** set the normals and normal indices of the geoset.*/
|
||||||
|
void setNormals( Vec3 *np, IndexPointer& ip );
|
||||||
/** set the normals binding to the vertices/primitives/overall.*/
|
/** set the normals binding to the vertices/primitives/overall.*/
|
||||||
void setNormalBinding( BindingType binding );
|
void setNormalBinding( const BindingType binding );
|
||||||
BindingType getNormalBinding() { return _normal_binding; }
|
inline const BindingType getNormalBinding() const { return _normal_binding; }
|
||||||
|
|
||||||
/** get the number of colors required by the defined primitives and color binding.*/
|
/** get the number of colors required by the defined primitives and color binding.*/
|
||||||
int getNumColors() { return _numcolors; }
|
inline const int getNumColors() const { return _numcolors; }
|
||||||
/** get a pointer to Vec4 color array. */
|
/** get a pointer to Vec4 color array. */
|
||||||
Vec4* getColors() { return _colors; }
|
inline Vec4* getColors() { return _colors; }
|
||||||
|
/** get a pointer to Vec4 color array. */
|
||||||
|
inline const Vec4* getColors() const { return _colors; }
|
||||||
/** get the number of colors indices required by the defined primitives and color binding.*/
|
/** get the number of colors indices required by the defined primitives and color binding.*/
|
||||||
int getNumCIndices() { return _numcindices; }
|
inline int getNumColorIndices() const { return _colindex._size; }
|
||||||
/** get the color index array. */
|
/** get the color index array. */
|
||||||
ushort* getColIndex() { return _colindex; }
|
inline IndexPointer& getColorIndices() { return _colindex; }
|
||||||
|
/** get the const color index array. */
|
||||||
|
inline const IndexPointer& getColorIndices() const { return _colindex; }
|
||||||
/** set the colors of the geoset.*/
|
/** set the colors of the geoset.*/
|
||||||
void setColors( Vec4 *lp );
|
void setColors( Vec4 *cp );
|
||||||
/** set the colors and color indices of the geoset.*/
|
/** set the colors and color indices of the geoset.*/
|
||||||
void setColors( Vec4 *lp, ushort *li );
|
void setColors( Vec4 *cp, ushort *li );
|
||||||
|
/** set the colors and color indices of the geoset.*/
|
||||||
|
void setColors( Vec4 *cp, uint *li );
|
||||||
|
/** set the colors and color indices of the geoset.*/
|
||||||
|
void setColors( Vec4 *cp, IndexPointer& ip );
|
||||||
/** set the color binding to the vertices/primitives/overall.*/
|
/** set the color binding to the vertices/primitives/overall.*/
|
||||||
void setColorBinding( BindingType binding );
|
void setColorBinding( BindingType binding );
|
||||||
BindingType getColorBinding() { return _color_binding; }
|
inline BindingType getColorBinding() const { return _color_binding; }
|
||||||
|
|
||||||
/** get the number of texture coords required by the defined primitives and textures binding.*/
|
/** get the number of texture coords required by the defined primitives and textures binding.*/
|
||||||
int getNumTCoords() { return _numtcoords; }
|
inline const int getNumTextureCoords() const { return _numtcoords; }
|
||||||
/** get a pointer to Vec4 color array. */
|
/** get a pointer to Vec4 color array. */
|
||||||
Vec2* getTCoords() { return _tcoords; }
|
inline Vec2* getTextureCoords() { return _tcoords; }
|
||||||
|
/** get a pointer to Vec4 color array. */
|
||||||
|
inline const Vec2* getTextureCoords() const { return _tcoords; }
|
||||||
/** get the number of texture coord indices required by the defined primitives and texture binding.*/
|
/** get the number of texture coord indices required by the defined primitives and texture binding.*/
|
||||||
int getNumTIndices() { return _numtindices; }
|
inline const int getNumTextureIndices() const { return _tindex._size; }
|
||||||
/** get the texture index array. */
|
/** get the texture index array. */
|
||||||
ushort* getTIndex() { return _tindex; }
|
inline IndexPointer& getTextureIndices() { return _tindex; }
|
||||||
|
/** get the texture index array. */
|
||||||
|
inline const IndexPointer& getTextureIndices() const { return _tindex; }
|
||||||
/** set the texture coords of the geoset.*/
|
/** set the texture coords of the geoset.*/
|
||||||
void setTextureCoords( Vec2 *tc );
|
void setTextureCoords( Vec2 *tc );
|
||||||
/** set the texture coords and texture coord indices of the geoset.*/
|
/** set the texture coords and texture coord indices of the geoset.*/
|
||||||
void setTextureCoords( Vec2 *tc, ushort *ti );
|
void setTextureCoords( Vec2 *tc, ushort *ti );
|
||||||
|
/** set the texture coords and texture coord indices of the geoset.*/
|
||||||
|
void setTextureCoords( Vec2 *tc, uint *ti );
|
||||||
|
/** set the texture coords and texture indices of the geoset.*/
|
||||||
|
void setTextureCoords( Vec2 *tc, IndexPointer& ip );
|
||||||
/** set the texture coord binding to the vertices/primitives/overall.*/
|
/** set the texture coord binding to the vertices/primitives/overall.*/
|
||||||
void setTextureBinding( BindingType binding );
|
void setTextureBinding( const BindingType binding );
|
||||||
BindingType getTextureBinding() { return _texture_binding; }
|
inline const BindingType getTextureBinding() const { return _texture_binding; }
|
||||||
|
|
||||||
void setInterleavedArray( InterleaveArrayType format, float *ia );
|
/** get the number of texture coords required by the defined primitives and textures binding.*/
|
||||||
void setInterleavedArray( InterleaveArrayType format, float *ia, ushort *iai );
|
inline const int getNumInterleavedCoords() const { return _numcoords; }
|
||||||
|
/** get a pointer to interleaved float array. */
|
||||||
void setGeoState(GeoState *state) { _state = state; }
|
inline void* getInterleavedArray() { return _iarray; }
|
||||||
GeoState* getGeoState() const { return _state.get();}
|
/** get a const pointer to interleaved float array. */
|
||||||
|
inline const void* getInterleavedArray() const { return _iarray; }
|
||||||
|
/** get the number of texture coord indices required by the defined primitives and texture binding.*/
|
||||||
/** When set to true, force the draw method to use OpenGL Display List for rendering.
|
inline const int getNumIterleavedIndices() const { return _iaindex._size; }
|
||||||
If false rendering directly. If the display list has not been already
|
/** get the texture index array. */
|
||||||
compile the next call to draw will automatically create the display list.*/
|
inline IndexPointer& getInterleavedIndices() { return _iaindex; }
|
||||||
void setUseDisplayList(bool flag);
|
/** get the interleaved index array. */
|
||||||
|
inline const IndexPointer& getInterleavedIndices() const { return _iaindex; }
|
||||||
/** Return whether OpenGL display lists are being used for rendering.*/
|
/** get the interleaved array storage format. */
|
||||||
bool getUseDisplayList() { return _useDisplayList; }
|
inline const InterleaveArrayType getInterleavedFromat() const { return _iaformat; }
|
||||||
|
|
||||||
/** Force a recompile on next draw() of any OpenGL display list associated with this geoset.*/
|
|
||||||
void dirtyDisplayList();
|
|
||||||
|
|
||||||
/** get bounding box of geoset.
|
|
||||||
* Note, now made virtual to make it possible to implement user-drawn
|
|
||||||
* objects albiet so what crudely, to be improved later.
|
|
||||||
*/
|
|
||||||
virtual const BoundingBox& getBound() ;
|
|
||||||
|
|
||||||
/** draw geoset.
|
|
||||||
* If the geoset has _useDisplayList set to true then use an OpenGL display
|
|
||||||
* list, automatically compiling one if required.
|
|
||||||
* Otherwise call drawImmediateMode().
|
|
||||||
* Note, draw method should not be overiden in subclasses as it
|
|
||||||
* manages the optional display list.
|
|
||||||
*/
|
|
||||||
void draw( void );
|
|
||||||
|
|
||||||
|
/** set the interleaved arrays of the geoset.*/
|
||||||
|
void setInterleavedArray( const InterleaveArrayType format, float *ia );
|
||||||
|
void setInterleavedArray( const InterleaveArrayType format, float *ia, ushort *iai );
|
||||||
|
void setInterleavedArray( const InterleaveArrayType format, float *ia, uint *iai );
|
||||||
|
void setInterleavedArray( const InterleaveArrayType format, float *ia, IndexPointer& iai );
|
||||||
|
|
||||||
/** draw geoset directly ignoring an OpenGL display list which could be attached.
|
/** draw geoset directly ignoring an OpenGL display list which could be attached.
|
||||||
* This is the internal draw method which does the drawing itself,
|
* This is the internal draw method which does the drawing itself,
|
||||||
* and is the method to override when deriving from GeoSet for user-drawn objects.
|
* and is the method to override when deriving from GeoSet for user-drawn objects.
|
||||||
*/
|
*/
|
||||||
virtual void drawImmediateMode();
|
virtual void drawImmediateMode(State& state);
|
||||||
|
|
||||||
/** Immediately compile this geoset into an OpenGL Display List, set _useDisplayList to true.*/
|
const bool check() const;
|
||||||
void compile( void );
|
|
||||||
|
|
||||||
bool check();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
GeoSet(const GeoSet&):Object() {}
|
GeoSet(const GeoSet&):Drawable() {}
|
||||||
GeoSet& operator = (const GeoSet&) { return *this;}
|
GeoSet& operator = (const GeoSet&) { return *this;}
|
||||||
|
|
||||||
virtual ~GeoSet();
|
virtual ~GeoSet();
|
||||||
|
|
||||||
bool matchBindingTypeStr(const char* str,BindingType& mode);
|
virtual const bool computeBound() const;
|
||||||
const char* getBindingTypeStr(BindingType mode);
|
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
private :
|
|
||||||
|
|
||||||
int _numprims;
|
int _numprims;
|
||||||
PrimitiveType _primtype;
|
PrimitiveType _primtype;
|
||||||
int _needprimlen;
|
int _needprimlen;
|
||||||
unsigned int _oglprimtype;
|
unsigned int _oglprimtype;
|
||||||
int *_primLengths;
|
int *_primLengths;
|
||||||
int _numverts;
|
|
||||||
unsigned char _primlength;
|
unsigned char _primlength;
|
||||||
unsigned char _flat_shaded_skip;
|
unsigned char _flat_shaded_skip;
|
||||||
|
|
||||||
int _numcoords;
|
int _numcoords;
|
||||||
int _numindices;
|
Vec3 *_coords;
|
||||||
Vec3 *_coords;
|
IndexPointer _cindex;
|
||||||
ushort *_cindex;
|
|
||||||
|
|
||||||
int _numnormals;
|
BindingType _normal_binding;
|
||||||
int _numnindices;
|
int _numnormals;
|
||||||
Vec3 *_normals;
|
Vec3 *_normals;
|
||||||
ushort *_nindex;
|
IndexPointer _nindex;
|
||||||
BindingType _normal_binding;
|
|
||||||
|
|
||||||
int _numcolors;
|
BindingType _color_binding;
|
||||||
int _numcindices;
|
int _numcolors;
|
||||||
Vec4 *_colors;
|
Vec4 *_colors;
|
||||||
ushort *_colindex;
|
IndexPointer _colindex;
|
||||||
BindingType _color_binding;
|
|
||||||
|
|
||||||
int _numtcoords;
|
BindingType _texture_binding;
|
||||||
int _numtindices;
|
int _numtcoords;
|
||||||
Vec2 *_tcoords;
|
Vec2 *_tcoords;
|
||||||
ushort *_tindex;
|
IndexPointer _tindex;
|
||||||
BindingType _texture_binding;
|
|
||||||
|
|
||||||
void *_iarray;
|
void *_iarray;
|
||||||
ushort *_iaindex;
|
IndexPointer _iaindex;
|
||||||
InterleaveArrayType _iaformat;
|
InterleaveArrayType _iaformat;
|
||||||
unsigned int _ogliaformat;
|
unsigned int _ogliaformat;
|
||||||
|
|
||||||
|
|
||||||
/** return the bbbbffff composition required for an interleaved array row.*/
|
|
||||||
const char* getInterleavedRowComposition(InterleaveArrayType at) const;
|
|
||||||
/** return the number of bytes required for an interleaved array row.*/
|
|
||||||
int getInterleavedRowLength(InterleaveArrayType at) const;
|
|
||||||
|
|
||||||
|
|
||||||
int _fast_path;
|
int _fast_path;
|
||||||
|
|
||||||
ref_ptr<GeoState> _state;
|
|
||||||
|
|
||||||
bool _useDisplayList;
|
|
||||||
uint _globj;
|
|
||||||
|
|
||||||
BoundingBox _bbox;
|
|
||||||
int _bbox_computed;
|
|
||||||
|
|
||||||
void computeBound( void );
|
|
||||||
void set_fast_path( void );
|
void set_fast_path( void );
|
||||||
void draw_fast_path( void );
|
void draw_fast_path( void );
|
||||||
void draw_alternate_path( void );
|
void draw_alternate_path( void );
|
||||||
@ -279,21 +348,47 @@ void for_each_triangle(GeoSet& gset,T& op)
|
|||||||
case(GeoSet::TRIANGLE_STRIP):
|
case(GeoSet::TRIANGLE_STRIP):
|
||||||
case(GeoSet::FLAT_TRIANGLE_STRIP):
|
case(GeoSet::FLAT_TRIANGLE_STRIP):
|
||||||
{
|
{
|
||||||
if (gset.getCIndex())
|
if (gset.getCoordIndices().valid())
|
||||||
{
|
{
|
||||||
ushort* iptr = gset.getCIndex();
|
if (gset.getCoordIndices()._is_ushort)
|
||||||
Vec3* vptr = gset.getCoords();
|
|
||||||
const int numPrim = gset.getNumPrims();
|
|
||||||
for(int i=0; i<numPrim; ++i )
|
|
||||||
{
|
{
|
||||||
const int primLength = gset.getPrimLengths()[i];
|
ushort* iptr = gset.getCoordIndices()._ptr._ushort;
|
||||||
ushort* iend = iptr+primLength;
|
Vec3* vptr = gset.getCoords();
|
||||||
for(int j = 2; j < primLength; j++ )
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
{
|
{
|
||||||
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
const int primLength = gset.getPrimLengths()[i];
|
||||||
++iptr;
|
ushort* iend = iptr+primLength;
|
||||||
|
for(int j = 2; j < primLength; j++ )
|
||||||
|
{
|
||||||
|
if( !(j%2) )
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
else
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+2)],vptr[*(iptr+1)]);
|
||||||
|
++iptr;
|
||||||
|
}
|
||||||
|
iptr=iend;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint* iptr = gset.getCoordIndices()._ptr._uint;
|
||||||
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
const int primLength = gset.getPrimLengths()[i];
|
||||||
|
uint* iend = iptr+primLength;
|
||||||
|
for(int j = 2; j < primLength; j++ )
|
||||||
|
{
|
||||||
|
if( !(j%2) )
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
else
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+2)],vptr[*(iptr+1)]);
|
||||||
|
++iptr;
|
||||||
|
}
|
||||||
|
iptr=iend;
|
||||||
}
|
}
|
||||||
iptr=iend;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -306,7 +401,10 @@ void for_each_triangle(GeoSet& gset,T& op)
|
|||||||
Vec3* vend = vptr+primLength;
|
Vec3* vend = vptr+primLength;
|
||||||
for(int j = 2; j < primLength; j++ )
|
for(int j = 2; j < primLength; j++ )
|
||||||
{
|
{
|
||||||
op(*(vptr),*(vptr+1),*(vptr+2));
|
if( !(j%2) )
|
||||||
|
op(*(vptr),*(vptr+1),*(vptr+2));
|
||||||
|
else
|
||||||
|
op(*(vptr),*(vptr+2),*(vptr+1));
|
||||||
++vptr;
|
++vptr;
|
||||||
}
|
}
|
||||||
vptr=vend;
|
vptr=vend;
|
||||||
@ -317,15 +415,29 @@ void for_each_triangle(GeoSet& gset,T& op)
|
|||||||
case(GeoSet::TRIANGLES):
|
case(GeoSet::TRIANGLES):
|
||||||
{
|
{
|
||||||
|
|
||||||
if (gset.getCIndex())
|
if (gset.getCoordIndices().valid())
|
||||||
{
|
{
|
||||||
ushort* iptr = gset.getCIndex();
|
if (gset.getCoordIndices()._is_ushort)
|
||||||
Vec3* vptr = gset.getCoords();
|
|
||||||
const int numPrim = gset.getNumPrims();
|
|
||||||
for(int i=0; i<numPrim; ++i )
|
|
||||||
{
|
{
|
||||||
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
ushort* iptr = gset.getCoordIndices()._ptr._ushort;
|
||||||
iptr+=3;
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
iptr+=3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint* iptr = gset.getCoordIndices()._ptr._uint;
|
||||||
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
iptr+=3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -343,22 +455,43 @@ void for_each_triangle(GeoSet& gset,T& op)
|
|||||||
break;
|
break;
|
||||||
case(GeoSet::QUAD_STRIP):
|
case(GeoSet::QUAD_STRIP):
|
||||||
{
|
{
|
||||||
if (gset.getCIndex())
|
if (gset.getCoordIndices().valid())
|
||||||
{
|
{
|
||||||
ushort* iptr = gset.getCIndex();
|
if (gset.getCoordIndices()._is_ushort)
|
||||||
Vec3* vptr = gset.getCoords();
|
|
||||||
const int numPrim = gset.getNumPrims();
|
|
||||||
for(int i=0; i<numPrim; ++i )
|
|
||||||
{
|
{
|
||||||
const int primLength = gset.getPrimLengths()[i];
|
ushort* iptr = gset.getCoordIndices()._ptr._ushort;
|
||||||
ushort* iend = iptr+primLength;
|
Vec3* vptr = gset.getCoords();
|
||||||
for(int j = 3; j < primLength; j+=2 )
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
{
|
{
|
||||||
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
const int primLength = gset.getPrimLengths()[i];
|
||||||
op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
|
ushort* iend = iptr+primLength;
|
||||||
iptr+=2;
|
for(int j = 3; j < primLength; j+=2 )
|
||||||
|
{
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
|
||||||
|
iptr+=2;
|
||||||
|
}
|
||||||
|
iptr=iend;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint* iptr = gset.getCoordIndices()._ptr._uint;
|
||||||
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
const int primLength = gset.getPrimLengths()[i];
|
||||||
|
uint* iend = iptr+primLength;
|
||||||
|
for(int j = 3; j < primLength; j+=2 )
|
||||||
|
{
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
|
||||||
|
iptr+=2;
|
||||||
|
}
|
||||||
|
iptr=iend;
|
||||||
}
|
}
|
||||||
iptr=iend;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -382,16 +515,31 @@ void for_each_triangle(GeoSet& gset,T& op)
|
|||||||
break;
|
break;
|
||||||
case(GeoSet::QUADS):
|
case(GeoSet::QUADS):
|
||||||
{
|
{
|
||||||
if (gset.getCIndex())
|
if (gset.getCoordIndices().valid())
|
||||||
{
|
{
|
||||||
ushort* iptr = gset.getCIndex();
|
if (gset.getCoordIndices()._is_ushort)
|
||||||
Vec3* vptr = gset.getCoords();
|
|
||||||
const int numPrim = gset.getNumPrims();
|
|
||||||
for(int i=0; i<numPrim; ++i )
|
|
||||||
{
|
{
|
||||||
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
ushort* iptr = gset.getCoordIndices()._ptr._ushort;
|
||||||
op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
|
Vec3* vptr = gset.getCoords();
|
||||||
iptr+=4;
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
|
||||||
|
iptr+=4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint* iptr = gset.getCoordIndices()._ptr._uint;
|
||||||
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
|
||||||
|
op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
|
||||||
|
iptr+=4;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -411,25 +559,50 @@ void for_each_triangle(GeoSet& gset,T& op)
|
|||||||
case(GeoSet::TRIANGLE_FAN):
|
case(GeoSet::TRIANGLE_FAN):
|
||||||
case(GeoSet::POLYGON):
|
case(GeoSet::POLYGON):
|
||||||
{
|
{
|
||||||
if (gset.getCIndex())
|
if (gset.getCoordIndices().valid())
|
||||||
{
|
{
|
||||||
ushort* iptr = gset.getCIndex();
|
if (gset.getCoordIndices()._is_ushort)
|
||||||
Vec3* vptr = gset.getCoords();
|
|
||||||
const int numPrim = gset.getNumPrims();
|
|
||||||
for(int i=0; i<numPrim; ++i )
|
|
||||||
{
|
{
|
||||||
const int primLength = gset.getPrimLengths()[i];
|
ushort* iptr = gset.getCoordIndices()._ptr._ushort;
|
||||||
if (primLength>0)
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
{
|
{
|
||||||
const Vec3& start = vptr[*(iptr)];
|
const int primLength = gset.getPrimLengths()[i];
|
||||||
ushort* iend = iptr+primLength;
|
if (primLength>0)
|
||||||
++iptr;
|
|
||||||
for(int j = 2; j < primLength; ++j )
|
|
||||||
{
|
{
|
||||||
op(start,vptr[*(iptr)],vptr[*(iptr+1)]);
|
const Vec3& start = vptr[*(iptr)];
|
||||||
|
ushort* iend = iptr+primLength;
|
||||||
++iptr;
|
++iptr;
|
||||||
|
for(int j = 2; j < primLength; ++j )
|
||||||
|
{
|
||||||
|
op(start,vptr[*(iptr)],vptr[*(iptr+1)]);
|
||||||
|
++iptr;
|
||||||
|
}
|
||||||
|
iptr=iend;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint* iptr = gset.getCoordIndices()._ptr._uint;
|
||||||
|
Vec3* vptr = gset.getCoords();
|
||||||
|
const int numPrim = gset.getNumPrims();
|
||||||
|
for(int i=0; i<numPrim; ++i )
|
||||||
|
{
|
||||||
|
const int primLength = gset.getPrimLengths()[i];
|
||||||
|
if (primLength>0)
|
||||||
|
{
|
||||||
|
const Vec3& start = vptr[*(iptr)];
|
||||||
|
uint* iend = iptr+primLength;
|
||||||
|
++iptr;
|
||||||
|
for(int j = 2; j < primLength; ++j )
|
||||||
|
{
|
||||||
|
op(start,vptr[*(iptr)],vptr[*(iptr+1)]);
|
||||||
|
++iptr;
|
||||||
|
}
|
||||||
|
iptr=iend;
|
||||||
}
|
}
|
||||||
iptr=iend;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,70 +1,69 @@
|
|||||||
#ifndef OSG_GEODE
|
#ifndef OSG_GEODE
|
||||||
#define OSG_GEODE 1
|
#define OSG_GEODE 1
|
||||||
|
|
||||||
#include <osg/OSG>
|
|
||||||
|
|
||||||
#include <osg/Node>
|
#include <osg/Node>
|
||||||
#include <osg/GeoSet>
|
|
||||||
#include <osg/NodeVisitor>
|
#include <osg/NodeVisitor>
|
||||||
|
#include <osg/Drawable>
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Leaf Node for grouping GeoSets.*/
|
/** Leaf Node for grouping Drawables.*/
|
||||||
class SG_EXPORT Geode : public Node
|
class SG_EXPORT Geode : public Node
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
typedef std::vector< ref_ptr<GeoSet> > GeoSetList;
|
typedef std::vector< ref_ptr<Drawable> > DrawableList;
|
||||||
|
|
||||||
Geode();
|
Geode();
|
||||||
|
|
||||||
virtual Object* clone() const { return new Geode(); }
|
virtual Object* clone() const { return new Geode(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Geode*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Geode*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Geode"; }
|
virtual const char* className() const { return "Geode"; }
|
||||||
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
||||||
|
|
||||||
/** Add GeoSet to Geode.
|
/** Add Drawable to Geode.
|
||||||
* If gset is not NULL and is not contained in Geode then increment its
|
* If gset is not NULL and is not contained in Geode then increment its
|
||||||
* reference count, add it to the geosets list and dirty the bounding
|
* reference count, add it to the drawables list and dirty the bounding
|
||||||
* sphere to force it to recompute on next getBound() and return true for success.
|
* sphere to force it to recompute on next getBound() and return true for success.
|
||||||
* Otherwise return false.
|
* Otherwise return false.
|
||||||
*/
|
*/
|
||||||
virtual bool addGeoSet( GeoSet *gset );
|
virtual const bool addDrawable( Drawable *drawable );
|
||||||
|
|
||||||
/** Remove GeoSet from Geode.
|
/** Remove Drawable from Geode.
|
||||||
* If gset is contained in Geode then remove it from the geoset
|
* If gset is contained in Geode then remove it from the geoset
|
||||||
* list and decrement its reference count, and dirty the
|
* list and decrement its reference count, and dirty the
|
||||||
* bounding sphere to force it to recompute on next getBound() and
|
* bounding sphere to force it to recompute on next getBound() and
|
||||||
* return true for success. If gset is not found then return false
|
* return true for success. If gset is not found then return false
|
||||||
* and do not change the reference count of gset.
|
* and do not change the reference count of gset.
|
||||||
*/
|
*/
|
||||||
virtual bool removeGeoSet( GeoSet *gset );
|
virtual const bool removeDrawable( Drawable *drawable );
|
||||||
|
|
||||||
/** Replace specified GeoSet with another GeoSet.
|
/** Replace specified Drawable with another Drawable.
|
||||||
* Decrement the reference count origGSet and increments the
|
* Decrement the reference count origGSet and increments the
|
||||||
* reference count of newGset, and dirty the bounding sphere
|
* reference count of newGset, and dirty the bounding sphere
|
||||||
* to force it to recompute on next getBound() and returns true.
|
* to force it to recompute on next getBound() and returns true.
|
||||||
* If origGeoSet is not found then return false and do not
|
* If origDrawable is not found then return false and do not
|
||||||
* add newGset. If newGset is NULL then return false and do
|
* add newGset. If newGset is NULL then return false and do
|
||||||
* not remove origGset.
|
* not remove origGset.
|
||||||
*/
|
*/
|
||||||
virtual bool replaceGeoSet( GeoSet *origGset, GeoSet *newGset );
|
virtual const bool replaceDrawable( Drawable *origDraw, Drawable *newDraw );
|
||||||
|
|
||||||
|
|
||||||
/** return the number of geoset's.*/
|
/** return the number of geoset's.*/
|
||||||
int getNumGeosets( void ) const { return _geosets.size(); }
|
inline const int getNumDrawables() const { return _drawables.size(); }
|
||||||
|
|
||||||
/** return geoset at position i.*/
|
/** return geoset at position i.*/
|
||||||
GeoSet* getGeoSet( int i ) { return _geosets[i].get(); }
|
inline Drawable* getDrawable( const int i ) { return _drawables[i].get(); }
|
||||||
|
|
||||||
|
/** return geoset at position i.*/
|
||||||
|
inline const Drawable* getDrawable( const int i ) const { return _drawables[i].get(); }
|
||||||
|
|
||||||
/** return true is geoset is contained within Geode.*/
|
/** return true is geoset is contained within Geode.*/
|
||||||
bool containsGeoSet( GeoSet* gset)
|
inline const bool containsDrawable(const Drawable* gset) const
|
||||||
{
|
{
|
||||||
|
|
||||||
for (GeoSetList::iterator itr=_geosets.begin();
|
for (DrawableList::const_iterator itr=_drawables.begin();
|
||||||
itr!=_geosets.end();
|
itr!=_drawables.end();
|
||||||
++itr)
|
++itr)
|
||||||
{
|
{
|
||||||
if (itr->get()==gset) return true;
|
if (itr->get()==gset) return true;
|
||||||
@ -72,34 +71,46 @@ class SG_EXPORT Geode : public Node
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** return the iterator postion for specified GeoSet.
|
/** return the iterator postion for specified Drawable.
|
||||||
* return _geoset.end() if gset not is contained in Geode.
|
* return _geoset.end() if gset not is contained in Geode.
|
||||||
*/
|
*/
|
||||||
GeoSetList::iterator findGeoSet( GeoSet* gset)
|
inline DrawableList::iterator findDrawable(const Drawable* gset)
|
||||||
{
|
{
|
||||||
|
|
||||||
for (GeoSetList::iterator itr=_geosets.begin();
|
for (DrawableList::iterator itr=_drawables.begin();
|
||||||
itr!=_geosets.end();
|
itr!=_drawables.end();
|
||||||
++itr)
|
++itr)
|
||||||
{
|
{
|
||||||
if (itr->get()==gset) return itr;
|
if (itr->get()==gset) return itr;
|
||||||
}
|
}
|
||||||
return _geosets.end();
|
return _drawables.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** return the const_iterator postion for specified Drawable.
|
||||||
|
* return _geoset.end() if gset not is contained in Geode.
|
||||||
|
*/
|
||||||
|
inline DrawableList::const_iterator findDrawable(const Drawable* gset) const
|
||||||
|
{
|
||||||
|
|
||||||
|
for (DrawableList::const_iterator itr=_drawables.begin();
|
||||||
|
itr!=_drawables.end();
|
||||||
|
++itr)
|
||||||
|
{
|
||||||
|
if (itr->get()==gset) return itr;
|
||||||
|
}
|
||||||
|
return _drawables.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** complile OpenGL Display List for each geoset.*/
|
/** complile OpenGL Display List for each geoset.*/
|
||||||
void compileGeoSets( void );
|
void compileDrawables(State& state);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~Geode();
|
virtual ~Geode();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
virtual const bool computeBound() const;
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
virtual bool computeBound( void );
|
DrawableList _drawables;
|
||||||
|
|
||||||
GeoSetList _geosets;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,12 +4,10 @@
|
|||||||
#include <osg/Node>
|
#include <osg/Node>
|
||||||
#include <osg/NodeVisitor>
|
#include <osg/NodeVisitor>
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** General group node which maintains a list of children.
|
/** General group node which maintains a list of children.
|
||||||
Children are reference counted to allow children to be shared
|
Children are reference counted. This allows children to be shared
|
||||||
with memory management handled automatically via osg::Referenced.
|
with memory management handled automatically via osg::Referenced.
|
||||||
*/
|
*/
|
||||||
class SG_EXPORT Group : public Node
|
class SG_EXPORT Group : public Node
|
||||||
@ -21,7 +19,7 @@ class SG_EXPORT Group : public Node
|
|||||||
Group();
|
Group();
|
||||||
|
|
||||||
virtual Object* clone() const { return new Group(); }
|
virtual Object* clone() const { return new Group(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Group*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Group*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Group"; }
|
virtual const char* className() const { return "Group"; }
|
||||||
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
||||||
|
|
||||||
@ -31,7 +29,7 @@ class SG_EXPORT Group : public Node
|
|||||||
* If node is not NULL and is not contained in Group then increment its
|
* If node is not NULL and is not contained in Group then increment its
|
||||||
* reference count, add it to the child list and dirty the bounding
|
* reference count, add it to the child list and dirty the bounding
|
||||||
* sphere to force it to recompute on next getBound() and return true for success.
|
* sphere to force it to recompute on next getBound() and return true for success.
|
||||||
* Otherwise return false.
|
* Otherwise return false. Scene nodes can't be added as child nodes.
|
||||||
*/
|
*/
|
||||||
virtual bool addChild( Node *child );
|
virtual bool addChild( Node *child );
|
||||||
|
|
||||||
@ -50,21 +48,24 @@ class SG_EXPORT Group : public Node
|
|||||||
* to force it to recompute on next getBound() and returns true.
|
* to force it to recompute on next getBound() and returns true.
|
||||||
* If origNode is not found then return false and do not
|
* If origNode is not found then return false and do not
|
||||||
* add newNode. If newNode is NULL then return false and do
|
* add newNode. If newNode is NULL then return false and do
|
||||||
* not remove origNode.
|
* not remove origNode. Also returns false if newChild is a Scene node.
|
||||||
*/
|
*/
|
||||||
virtual bool replaceChild( Node *origChild, Node* newChild );
|
virtual bool replaceChild( Node *origChild, Node* newChild );
|
||||||
|
|
||||||
/** return the number of chilren nodes.*/
|
/** return the number of chilren nodes.*/
|
||||||
int getNumChildren( void ) { return _children.size(); }
|
inline const int getNumChildren() const { return _children.size(); }
|
||||||
|
|
||||||
/** return child node at position i.*/
|
/** return child node at position i.*/
|
||||||
Node *getChild( int i ) { return _children[i].get(); }
|
inline Node *getChild( const int i ) { return _children[i].get(); }
|
||||||
|
|
||||||
/** return true is node is contained within Group.*/
|
/** return child node at position i.*/
|
||||||
bool containsNode( Node* node )
|
inline const Node *getChild( const int i ) const { return _children[i].get(); }
|
||||||
|
|
||||||
|
/** return true if node is contained within Group.*/
|
||||||
|
inline bool containsNode( const Node* node ) const
|
||||||
{
|
{
|
||||||
|
|
||||||
for (ChildList::iterator itr=_children.begin();
|
for (ChildList::const_iterator itr=_children.begin();
|
||||||
itr!=_children.end();
|
itr!=_children.end();
|
||||||
++itr)
|
++itr)
|
||||||
{
|
{
|
||||||
@ -73,12 +74,12 @@ class SG_EXPORT Group : public Node
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** return the iterator postion for specified Node.
|
/** return the iterator postion for specified Node.
|
||||||
* return _chilren.end() if node is not contained in Group.
|
* return _chilren.end() if node is not contained in Group.
|
||||||
*/
|
*/
|
||||||
ChildList::iterator findNode( Node* node )
|
inline ChildList::iterator findNode( const Node* node )
|
||||||
{
|
{
|
||||||
|
|
||||||
for (ChildList::iterator itr=_children.begin();
|
for (ChildList::iterator itr=_children.begin();
|
||||||
itr!=_children.end();
|
itr!=_children.end();
|
||||||
++itr)
|
++itr)
|
||||||
@ -88,16 +89,28 @@ class SG_EXPORT Group : public Node
|
|||||||
return _children.end();
|
return _children.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** return the const_iterator postion for specified Node.
|
||||||
|
* return _chilren.end() if node is not contained in Group.
|
||||||
|
*/
|
||||||
|
inline ChildList::const_iterator findNode( const Node* node ) const
|
||||||
|
{
|
||||||
|
for (ChildList::const_iterator itr=_children.begin();
|
||||||
|
itr!=_children.end();
|
||||||
|
++itr)
|
||||||
|
{
|
||||||
|
if (itr->get()==node) return itr;
|
||||||
|
}
|
||||||
|
return _children.end();
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~Group();
|
virtual ~Group();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
virtual const bool computeBound() const;
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
ChildList _children;
|
ChildList _children;
|
||||||
|
|
||||||
bool computeBound( void );
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
|
// -*-c++-*-
|
||||||
|
|
||||||
#ifndef OSG_IMAGE
|
#ifndef OSG_IMAGE
|
||||||
#define OSG_IMAGE 1
|
#define OSG_IMAGE 1
|
||||||
|
|
||||||
#include <osg/Object>
|
#include <osg/Object>
|
||||||
#include <osg/OSG>
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class Output;
|
|
||||||
class Input;
|
|
||||||
|
|
||||||
/** Image class for encapsulating the storage texture image data.*/
|
/** Image class for encapsulating the storage texture image data.*/
|
||||||
class SG_EXPORT Image : public Object
|
class SG_EXPORT Image : public Object
|
||||||
{
|
{
|
||||||
@ -18,43 +18,46 @@ class SG_EXPORT Image : public Object
|
|||||||
Image();
|
Image();
|
||||||
|
|
||||||
virtual Object* clone() const { return new Image(); }
|
virtual Object* clone() const { return new Image(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Image*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Image*>(obj)!=0; }
|
||||||
virtual const char* className() const { return "Image"; }
|
virtual const char* className() const { return "Image"; }
|
||||||
|
|
||||||
|
|
||||||
const char* getFileName() { return _fileName; }
|
inline const std::string& getFileName() const { return _fileName; }
|
||||||
void setFileName(const char* fileName);
|
void setFileName(const std::string& fileName);
|
||||||
|
|
||||||
/** set the image data and format.
|
/** set the image data and format.
|
||||||
* note, when no packing value is negative (the default is -1) this method assumes
|
* note, when the packing value is negative (the default is -1) this method assumes
|
||||||
* a _packing width of 1 if the width is not a multiple of 4,
|
* a _packing width of 1 if the width is not a multiple of 4,
|
||||||
* otherwise automatically sets to _packing to 4. If a postive
|
* otherwise automatically sets to _packing to 4. If a postive
|
||||||
* value of packing is supplied than _packing is simply set to that value.
|
* value of packing is supplied than _packing is simply set to that value.
|
||||||
*/
|
*/
|
||||||
void setImage(int s,int t,int r,
|
void setImage(const int s,const int t,const int r,
|
||||||
int internalFormat,
|
const int internalFormat,
|
||||||
unsigned int pixelFormat,
|
const unsigned int pixelFormat,
|
||||||
unsigned int dataType,
|
const unsigned int dataType,
|
||||||
unsigned char *data,
|
unsigned char *data,
|
||||||
int packing=-1);
|
const int packing=-1);
|
||||||
|
|
||||||
/** Width of image.*/
|
/** Width of image.*/
|
||||||
int s() { return _s; }
|
inline const int s() const { return _s; }
|
||||||
/** Height of image.*/
|
/** Height of image.*/
|
||||||
int t() { return _t; }
|
inline const int t() const { return _t; }
|
||||||
/** Depth of image.*/
|
/** Depth of image.*/
|
||||||
int r() { return _r; }
|
inline const int r() const { return _r; }
|
||||||
|
|
||||||
int internalFormat() { return _internalFormat; }
|
inline const int internalFormat() const { return _internalFormat; }
|
||||||
unsigned int pixelFormat() { return _pixelFormat; }
|
inline const unsigned int pixelFormat() const { return _pixelFormat; }
|
||||||
unsigned int dataType() { return _dataType; }
|
inline const unsigned int dataType() const { return _dataType; }
|
||||||
unsigned int packing() { return _packing; }
|
inline const unsigned int packing() const { return _packing; }
|
||||||
|
|
||||||
/** raw image data.*/
|
/** raw image data.*/
|
||||||
unsigned char *data() { return _data; }
|
inline unsigned char *data() { return _data; }
|
||||||
|
|
||||||
|
/** raw const image data.*/
|
||||||
|
inline const unsigned char *data() const { return _data; }
|
||||||
|
|
||||||
/** Scale image to specified size. */
|
/** Scale image to specified size. */
|
||||||
void scaleImage(int s,int t,int r);
|
void scaleImage(const int s,const int t,const int r);
|
||||||
|
|
||||||
/** Ensure image dimensions are a power of two.
|
/** Ensure image dimensions are a power of two.
|
||||||
* Mip Mapped texture require the image dimensions to be
|
* Mip Mapped texture require the image dimensions to be
|
||||||
@ -62,6 +65,9 @@ class SG_EXPORT Image : public Object
|
|||||||
*/
|
*/
|
||||||
void ensureDimensionsArePowerOfTwo();
|
void ensureDimensionsArePowerOfTwo();
|
||||||
|
|
||||||
|
/** Get modified tag value. */
|
||||||
|
inline const unsigned int getModifiedTag() const { return _modifiedTag; }
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~Image();
|
virtual ~Image();
|
||||||
@ -69,10 +75,7 @@ class SG_EXPORT Image : public Object
|
|||||||
// Image(const Image&) {}
|
// Image(const Image&) {}
|
||||||
// Image& operator = (const Image& image) {}
|
// Image& operator = (const Image& image) {}
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
std::string _fileName;
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
char* _fileName;
|
|
||||||
int _s, _t, _r;
|
int _s, _t, _r;
|
||||||
int _internalFormat;
|
int _internalFormat;
|
||||||
unsigned int _pixelFormat;
|
unsigned int _pixelFormat;
|
||||||
@ -80,18 +83,21 @@ class SG_EXPORT Image : public Object
|
|||||||
unsigned int _packing;
|
unsigned int _packing;
|
||||||
unsigned char *_data;
|
unsigned char *_data;
|
||||||
|
|
||||||
|
unsigned int _modifiedTag;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Geode;
|
class Geode;
|
||||||
|
|
||||||
/** Convinience function to be used by images loaders to generate a valid geode to return for readNode().
|
/** Convenience function to be used by images loaders to generate a valid geode
|
||||||
* Use the images s and t values scale the dimensions of the image.
|
* to return for readNode().
|
||||||
*/
|
* Use the images s and t values scale the dimensions of the image.
|
||||||
|
*/
|
||||||
SG_EXPORT extern Geode* createGeodeForImage(Image* image);
|
SG_EXPORT extern Geode* createGeodeForImage(Image* image);
|
||||||
/** Convinience function to be used by images loaders to generate a valid geode to return for readNode().
|
/** Convenience function to be used by images loaders to generate a valid geode
|
||||||
* Use the specified s and t values scale the dimensions of the image.
|
* to return for readNode().
|
||||||
*/
|
* Use the specified s and t values scale the dimensions of the image.
|
||||||
SG_EXPORT extern Geode* createGeodeForImage(Image* image,float s,float t);
|
*/
|
||||||
|
SG_EXPORT extern Geode* createGeodeForImage(Image* image,const float s,const float t);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
#ifndef OSG_LOD
|
#ifndef OSG_LOD
|
||||||
#define OSG_LOD 1
|
#define OSG_LOD 1
|
||||||
|
|
||||||
#include <osg/Switch>
|
#include <osg/Group>
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
@ -20,7 +18,7 @@ class SG_EXPORT LOD : public Group
|
|||||||
LOD() {}
|
LOD() {}
|
||||||
|
|
||||||
virtual Object* clone() const { return new LOD(); }
|
virtual Object* clone() const { return new LOD(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<LOD*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const LOD*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "LOD"; }
|
virtual const char* className() const { return "LOD"; }
|
||||||
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
||||||
virtual void traverse(NodeVisitor& nv);
|
virtual void traverse(NodeVisitor& nv);
|
||||||
@ -29,31 +27,31 @@ class SG_EXPORT LOD : public Group
|
|||||||
is a floating point distance specified in world coordinates.
|
is a floating point distance specified in world coordinates.
|
||||||
Range list automatically expands to accomodate values beyond
|
Range list automatically expands to accomodate values beyond
|
||||||
the current getNumRanges().*/
|
the current getNumRanges().*/
|
||||||
void setRange(unsigned int index, float range);
|
void setRange(const unsigned int index, const float range);
|
||||||
/** pfLOD::getRange returns the range element index.*/
|
|
||||||
float getRange(unsigned int index) { return _rangeList[index]; }
|
/** returns the range for specified index.*/
|
||||||
|
inline const float getRange(const unsigned int index) const { return _rangeList[index]; }
|
||||||
|
|
||||||
/** returns the number of ranges currently set.*/
|
/** returns the number of ranges currently set.*/
|
||||||
int getNumRanges() { return _rangeList.size(); }
|
inline const int getNumRanges() const { return _rangeList.size(); }
|
||||||
|
|
||||||
/** Sets the object-space point which defines the center of the osg::LOD.
|
/** Sets the object-space point which defines the center of the osg::LOD.
|
||||||
center is affected by any transforms in the hierarchy above the osg::LOD.*/
|
center is affected by any transforms in the hierarchy above the osg::LOD.*/
|
||||||
void setCenter(const Vec3 ¢er) { _center = center; }
|
inline void setCenter(const Vec3 ¢er) { _center = center; }
|
||||||
|
|
||||||
/** return the LOD center point. */
|
/** return the LOD center point. */
|
||||||
const Vec3& getCenter() { return _center; }
|
inline const Vec3& getCenter() const { return _center; }
|
||||||
|
|
||||||
|
|
||||||
/** return the child to traverse.
|
/** return the child to traverse.
|
||||||
Selected by the distance between the eye point in local
|
Selected by the distance between the eye point in local
|
||||||
coordinates and the LOD center, mutliplied by the bias.*/
|
coordinates and the LOD center, mutliplied by the bias.*/
|
||||||
int evaluate(const Vec3& eye_local,float bias=1.0f);
|
const int evaluate(const Vec3& eye_local,const float bias=1.0f) const;
|
||||||
|
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
virtual ~LOD() {}
|
virtual ~LOD() {}
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
typedef std::vector<float> RangeList;
|
typedef std::vector<float> RangeList;
|
||||||
RangeList _rangeList;
|
RangeList _rangeList;
|
||||||
RangeList _rangeList2;
|
RangeList _rangeList2;
|
||||||
|
@ -1,113 +1,111 @@
|
|||||||
#ifndef OSG_LIGHT
|
#ifndef OSG_LIGHT
|
||||||
#define OSG_LIGHT 1
|
#define OSG_LIGHT 1
|
||||||
|
|
||||||
#include <osg/GL>
|
#include <osg/Vec3>
|
||||||
#include <osg/OSG>
|
|
||||||
#include <osg/Vec4>
|
#include <osg/Vec4>
|
||||||
|
#include <osg/StateAttribute>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Light state class which encapsulates OpenGL glLight() functionality.*/
|
/** Light state class which encapsulates OpenGL glLight() functionality.*/
|
||||||
class SG_EXPORT Light : public Object
|
class SG_EXPORT Light : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
Light();
|
Light();
|
||||||
|
|
||||||
/** return a static instance of an osg::Light, to be used as prototype
|
|
||||||
for loading lights.*/
|
|
||||||
static Light* instance();
|
|
||||||
|
|
||||||
/** return a shallow copy of a node, with Object* return type.*/
|
/** return a shallow copy of a node, with Object* return type.*/
|
||||||
virtual Object* clone() const { return new Light(); }
|
virtual Object* clone() const { return new Light(); }
|
||||||
|
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Light*>(obj)!=NULL; }
|
/** return true if this and obj are of the same kind of object.*/
|
||||||
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Light*>(obj)!=NULL; }
|
||||||
|
|
||||||
/** return the name of the node's class type.*/
|
/** return the name of the node's class type.*/
|
||||||
virtual const char* className() const { return "Light"; }
|
virtual const char* className() const { return "Light"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return LIGHTING; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode((GLMode)(GL_LIGHT0+_lightnum),value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turn the light on.
|
* Turn the light on.
|
||||||
* Calling this method doesn't directly affect OpenGL's lighting mode.
|
* Calling this method doesn't directly affect OpenGL's lighting mode.
|
||||||
*/
|
*/
|
||||||
void on( void ) { _on = true; }
|
inline void on() { _on = true; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turn the light off.
|
* Turn the light off.
|
||||||
* Calling this method doesn't directly affect OpenGL's lighting mode.
|
* Calling this method doesn't directly affect OpenGL's lighting mode.
|
||||||
*/
|
*/
|
||||||
void off( void ) { _on = false; }
|
inline void off() { _on = false; }
|
||||||
|
|
||||||
/** Enable OpenGL's Lighting mode. */
|
|
||||||
static void enable( void );
|
|
||||||
|
|
||||||
/** Disable OpenGL's Lighting mode. */
|
|
||||||
static void disable( void );
|
|
||||||
|
|
||||||
/** Apply the light's state to the OpenGL state machine. */
|
/** Apply the light's state to the OpenGL state machine. */
|
||||||
void apply( void );
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
/** Set the ambient component of the light. */
|
/** Set the ambient component of the light. */
|
||||||
void setAmbient( const Vec4& ambient ) { _ambient = ambient; }
|
inline void setAmbient( const Vec4& ambient ) { _ambient = ambient; }
|
||||||
|
|
||||||
/** Get the ambient component of the light. */
|
/** Get the ambient component of the light. */
|
||||||
const Vec4& getAmbient() const { return _ambient; }
|
inline const Vec4& getAmbient() const { return _ambient; }
|
||||||
|
|
||||||
/** Set the diffuse component of the light. */
|
/** Set the diffuse component of the light. */
|
||||||
void setDiffuse( const Vec4& diffuse ) { _diffuse = diffuse; }
|
inline void setDiffuse( const Vec4& diffuse ) { _diffuse = diffuse; }
|
||||||
|
|
||||||
/** Get the diffuse component of the light. */
|
/** Get the diffuse component of the light. */
|
||||||
const Vec4& getDiffuse() const { return _diffuse; }
|
inline const Vec4& getDiffuse() const { return _diffuse; }
|
||||||
|
|
||||||
/** Set the specular component of the light. */
|
/** Set the specular component of the light. */
|
||||||
void setSpecular( const Vec4& specular ) { _specular = specular; }
|
inline void setSpecular( const Vec4& specular ) { _specular = specular; }
|
||||||
|
|
||||||
/** Get the specular component of the light. */
|
/** Get the specular component of the light. */
|
||||||
const Vec4& getSpecular() const { return _specular; }
|
inline const Vec4& getSpecular() const { return _specular; }
|
||||||
|
|
||||||
/** Set the position of the light. */
|
/** Set the position of the light. */
|
||||||
void setPosition( const Vec4& position ) { _position = position; }
|
inline void setPosition( const Vec4& position ) { _position = position; }
|
||||||
|
|
||||||
/** Get the position of the light. */
|
/** Get the position of the light. */
|
||||||
const Vec4& getPosition() const { return _position; }
|
inline const Vec4& getPosition() const { return _position; }
|
||||||
|
|
||||||
/** Set the direction of the light. */
|
/** Set the direction of the light. */
|
||||||
void setDirection( const Vec3& direction ) { _direction = direction; }
|
inline void setDirection( const Vec3& direction ) { _direction = direction; }
|
||||||
|
|
||||||
/** Get the direction of the light. */
|
/** Get the direction of the light. */
|
||||||
const Vec3& getDirection() const { return _direction; }
|
inline const Vec3& getDirection() const { return _direction; }
|
||||||
|
|
||||||
/** Set the constant attenuation of the light. */
|
/** Set the constant attenuation of the light. */
|
||||||
void setConstantAttenuation( float constant_attenuation ) { _constant_attenuation = constant_attenuation; }
|
inline void setConstantAttenuation( const float constant_attenuation ) { _constant_attenuation = constant_attenuation; }
|
||||||
|
|
||||||
/** Get the constant attenuation of the light. */
|
/** Get the constant attenuation of the light. */
|
||||||
float setConstantAttenuation() const { return _constant_attenuation; }
|
inline const float getConstantAttenuation() const { return _constant_attenuation; }
|
||||||
|
|
||||||
/** Set the linear attenuation of the light. */
|
/** Set the linear attenuation of the light. */
|
||||||
void setLinearAttenuation ( float linear_attenuation ) { _linear_attenuation = linear_attenuation; }
|
inline void setLinearAttenuation ( const float linear_attenuation ) { _linear_attenuation = linear_attenuation; }
|
||||||
|
|
||||||
/** Get the linear attenuation of the light. */
|
/** Get the linear attenuation of the light. */
|
||||||
float getLinearAttenuation () const { return _linear_attenuation; }
|
inline const float getLinearAttenuation () const { return _linear_attenuation; }
|
||||||
|
|
||||||
/** Set the quadratic attenuation of the light. */
|
/** Set the quadratic attenuation of the light. */
|
||||||
void setQuadraticAttenuation ( float quadratic_attenuation ) { _quadratic_attenuation = quadratic_attenuation; }
|
inline void setQuadraticAttenuation ( const float quadratic_attenuation ) { _quadratic_attenuation = quadratic_attenuation; }
|
||||||
|
|
||||||
/** Get the quadratic attenuation of the light. */
|
/** Get the quadratic attenuation of the light. */
|
||||||
float getQuadraticAttenuation() const { return _quadratic_attenuation; }
|
inline const float getQuadraticAttenuation() const { return _quadratic_attenuation; }
|
||||||
|
|
||||||
/** Set the spot exponent of the light. */
|
/** Set the spot exponent of the light. */
|
||||||
void setSpotExponent( float spot_exponent ) { _spot_exponent = spot_exponent; }
|
inline void setSpotExponent( const float spot_exponent ) { _spot_exponent = spot_exponent; }
|
||||||
|
|
||||||
/** Get the spot exponent of the light. */
|
/** Get the spot exponent of the light. */
|
||||||
float getSpotExponent() const { return _spot_exponent; }
|
inline const float getSpotExponent() const { return _spot_exponent; }
|
||||||
|
|
||||||
/** Set the spot cutoff of the light. */
|
/** Set the spot cutoff of the light. */
|
||||||
void setSpotCutoff( float spot_cutoff ) { _spot_cutoff = spot_cutoff; }
|
inline void setSpotCutoff( const float spot_cutoff ) { _spot_cutoff = spot_cutoff; }
|
||||||
|
|
||||||
/** Get the spot cutoff of the light. */
|
/** Get the spot cutoff of the light. */
|
||||||
float getSpotCutoff() { return _spot_cutoff; }
|
inline const float getSpotCutoff() const { return _spot_cutoff; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Capture the lighting settings of the current OpenGL state
|
* Capture the lighting settings of the current OpenGL state
|
||||||
@ -117,10 +115,10 @@ class SG_EXPORT Light : public Object
|
|||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~Light( void );
|
virtual ~Light();
|
||||||
|
|
||||||
/** Initialize the light's settings with some decent defaults. */
|
/** Initialize the light's settings with some decent defaults. */
|
||||||
void init( void );
|
void init();
|
||||||
|
|
||||||
int _lightnum; // OpenGL light number
|
int _lightnum; // OpenGL light number
|
||||||
bool _on; // on/off state
|
bool _on; // on/off state
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef OSG_LIGHTSOURCE
|
#ifndef OSG_LIGHTSOURCE
|
||||||
#define OSG_LIGHTSOURCE 1
|
#define OSG_LIGHTSOURCE 1
|
||||||
|
|
||||||
#include <osg/Node>
|
#include <osg/MemoryAdapter>
|
||||||
#include <osg/NodeVisitor>
|
#include <osg/NodeVisitor>
|
||||||
#include <osg/Light>
|
#include <osg/Light>
|
||||||
|
|
||||||
@ -15,24 +15,24 @@ class SG_EXPORT LightSource : public Node
|
|||||||
LightSource();
|
LightSource();
|
||||||
|
|
||||||
virtual Object* clone() const { return new LightSource(); }
|
virtual Object* clone() const { return new LightSource(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<LightSource*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const LightSource*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "LightSource"; }
|
virtual const char* className() const { return "LightSource"; }
|
||||||
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
||||||
|
|
||||||
/** Set the attached light.*/
|
/** Set the attached light.*/
|
||||||
void setLight(Light* light) { _light = light; }
|
inline void setLight(Light* light) { _light = light; }
|
||||||
|
|
||||||
/** Get the attached light.*/
|
/** Get the attached light.*/
|
||||||
Light* getLight() { return _light.get(); }
|
inline Light* getLight() { return _light.get(); }
|
||||||
|
|
||||||
|
/** Get the const attached light.*/
|
||||||
|
inline const Light* getLight() const { return _light.get(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~LightSource();
|
virtual ~LightSource();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
virtual const bool computeBound() const;
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
virtual bool computeBound( void );
|
|
||||||
|
|
||||||
ref_ptr<Light> _light;
|
ref_ptr<Light> _light;
|
||||||
};
|
};
|
||||||
|
@ -1,26 +1,39 @@
|
|||||||
#ifndef OSG_MATERIAL
|
#ifndef OSG_MATERIAL
|
||||||
#define OSG_MATERIAL 1
|
#define OSG_MATERIAL 1
|
||||||
|
|
||||||
#include <osg/GL>
|
|
||||||
#include <osg/OSG>
|
|
||||||
#include <osg/Vec4>
|
#include <osg/Vec4>
|
||||||
#include <osg/Object>
|
#include <osg/StateAttribute>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
/** Material - encapsulates OpenGL glMaterial state.*/
|
||||||
|
class SG_EXPORT Material : public StateAttribute
|
||||||
class Input;
|
|
||||||
class Output;
|
|
||||||
|
|
||||||
class SG_EXPORT Material : public Object
|
|
||||||
{
|
{
|
||||||
|
|
||||||
public :
|
public :
|
||||||
|
|
||||||
enum MaterialFace {
|
|
||||||
FACE_FRONT = GL_FRONT,
|
Material();
|
||||||
FACE_BACK = GL_BACK,
|
virtual Object* clone() const { return new Material(); }
|
||||||
FACE_FRONT_AND_BACK = GL_FRONT_AND_BACK
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Material*>(obj)!=NULL; }
|
||||||
|
const char* className() const { return "Material"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return MATERIAL; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
// Have to think about the role of _colorMode
|
||||||
|
// in setting the colormaterial... also need to take the
|
||||||
|
// color material enable/disable out of the the apply()...
|
||||||
|
ds.setMode(GL_COLOR_MATERIAL,value);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
|
enum Face {
|
||||||
|
FRONT = GL_FRONT,
|
||||||
|
BACK = GL_BACK,
|
||||||
|
FRONT_AND_BACK = GL_FRONT_AND_BACK
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ColorMode {
|
enum ColorMode {
|
||||||
@ -32,44 +45,51 @@ class SG_EXPORT Material : public Object
|
|||||||
OFF
|
OFF
|
||||||
};
|
};
|
||||||
|
|
||||||
Material( void );
|
inline void setColorMode(const ColorMode mode) { _colorMode = mode; }
|
||||||
static Material* instance();
|
inline const ColorMode getColorMode() const { return _colorMode; }
|
||||||
virtual Object* clone() const { return new Material(); }
|
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Material*>(obj)!=NULL; }
|
|
||||||
const char* className() const { return "Material"; }
|
|
||||||
|
|
||||||
void apply( void );
|
void setAmbient( const Face face, const Vec4& ambient );
|
||||||
|
const Vec4& getAmbient(const Face face) const;
|
||||||
|
inline const bool getAmbientFrontAndBack() const { return _ambientFrontAndBack; }
|
||||||
|
|
||||||
void setColorMode(ColorMode mode) { _colorMode = mode; }
|
void setDiffuse( const Face face, const Vec4& diffuse );
|
||||||
|
const Vec4& getDiffuse(const Face face) const;
|
||||||
|
inline const bool getDiffuseFrontAndBack() const { return _diffuseFrontAndBack; }
|
||||||
|
|
||||||
void setAmbient( MaterialFace face, const Vec4& ambient );
|
/** Set specular value of specified face(s) of the material,
|
||||||
const Vec4& getAmbient(MaterialFace face) const;
|
* valid specular[0..3] range is 0.0 to 1.0.*/
|
||||||
bool getAmbientFrontAndBack() { return _ambientFrontAndBack; }
|
void setSpecular( const Face face, const Vec4& specular );
|
||||||
|
/** Get the specular value for specified face.*/
|
||||||
|
const Vec4& getSpecular(const Face face) const;
|
||||||
|
/** Get the whether specular values are equal for front and back faces.*/
|
||||||
|
inline const bool getSpecularFrontAndBack() const { return _specularFrontAndBack; }
|
||||||
|
|
||||||
void setDiffuse( MaterialFace face, const Vec4& diffuse );
|
/** Set emmision value of specified face(s) of the material,
|
||||||
const Vec4& getDiffuse(MaterialFace face) const;
|
* valid emmison[0..3] range is 0.0 to 1.0.*/
|
||||||
bool getDiffuseFrontAndBack() { return _diffuseFrontAndBack; }
|
void setEmission( const Face face, const Vec4& emission );
|
||||||
|
/** Get the emmsion value for specified face.*/
|
||||||
|
const Vec4& getEmission(const Face face) const;
|
||||||
|
/** Get the whether emmision values are equal for front and back faces.*/
|
||||||
|
inline const bool getEmissionFrontAndBack() const { return _emissionFrontAndBack; }
|
||||||
|
|
||||||
void setSpecular( MaterialFace face, const Vec4& specular );
|
/** Set shininess of specified face(s) of the material, valid shininess range is 0.0 to 1.0.*/
|
||||||
const Vec4& getSpecular(MaterialFace face) const;
|
void setShininess( const Face face, float shininess );
|
||||||
bool getSpecularFrontAndBack() { return _specularFrontAndBack; }
|
/** Get the shininess value for specified face.*/
|
||||||
|
const float getShininess(const Face face) const;
|
||||||
|
/** Get the whether shininess values are equal for front and back faces.*/
|
||||||
|
inline const bool getShininessFrontAndBack() const { return _shininessFrontAndBack; }
|
||||||
|
|
||||||
void setEmission( MaterialFace face, const Vec4& emission );
|
/** Set the alpha value of ambient,diffuse,specular and emmission colors,
|
||||||
const Vec4& getEmission(MaterialFace face) const;
|
* of specified face, to 1-transparancy. Valid transparancy range is 0.0 to 1.0.*/
|
||||||
bool getEmissionFrontAndBack() { return _emissionFrontAndBack; }
|
void setTransparency(const Face face,float trans);
|
||||||
|
|
||||||
void setShininess( MaterialFace face, float shininess );
|
/** Set the alpha value of ambient,diffuse,specular and emmission colors.
|
||||||
float getShininess(MaterialFace face) const;
|
* Valid transparancy range is 0.0 to 1.0.*/
|
||||||
bool getShininessFrontAndBack() { return _shininessFrontAndBack; }
|
void setAlpha(const Face face,float alpha);
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~Material( void );
|
virtual ~Material();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
bool matchFaceAndColor(Input& fr,const char* name,MaterialFace& mf,Vec4& color);
|
|
||||||
|
|
||||||
ColorMode _colorMode;
|
ColorMode _colorMode;
|
||||||
|
|
||||||
|
@ -2,16 +2,28 @@
|
|||||||
#define OSG_MATRIX 1
|
#define OSG_MATRIX 1
|
||||||
|
|
||||||
#include <osg/Object>
|
#include <osg/Object>
|
||||||
#include <osg/Types>
|
#include <osg/Vec3>
|
||||||
|
#include <osg/Vec4>
|
||||||
|
|
||||||
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
|
#include <iostream.h>
|
||||||
|
#else
|
||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class Input;
|
|
||||||
class Output;
|
|
||||||
|
|
||||||
/** 4x4 Matrix for storage & manipulation of transformations in scene graph.
|
/** 4x4 Matrix for storage & manipulation of transformations in scene graph.
|
||||||
Provides basic maths operations, IO and via osg::Object reference counting.
|
Provides basic maths operations, IO and via osg::Object reference counting.
|
||||||
|
You can directly load the matrix with OpenGL's LoadMatrixf() function via
|
||||||
|
the public member _mat as the matrix is stored in the OpenGL format.
|
||||||
|
Caution: The disadvantage of this feature is, that the matrix access is
|
||||||
|
'transposed' if you compare it with the standard C/C++ 2d-array-access
|
||||||
|
convention . I.e. _mat[i][j] accesses the ith column of the jth row in the
|
||||||
|
4x4 matrix.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class SG_EXPORT Matrix : public Object
|
class SG_EXPORT Matrix : public Object
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -26,14 +38,19 @@ class SG_EXPORT Matrix : public Object
|
|||||||
|
|
||||||
virtual ~Matrix();
|
virtual ~Matrix();
|
||||||
|
|
||||||
static Matrix* instance();
|
|
||||||
virtual Object* clone() const { return new Matrix(); }
|
virtual Object* clone() const { return new Matrix(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Matrix*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Matrix*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Matrix"; }
|
virtual const char* className() const { return "Matrix"; }
|
||||||
|
|
||||||
void makeIdent();
|
void makeIdent();
|
||||||
|
|
||||||
void set(const float* m);
|
void set(const float* m);
|
||||||
|
|
||||||
|
void set( float a00, float a01, float a02, float a03,
|
||||||
|
float a10, float a11, float a12, float a13,
|
||||||
|
float a20, float a21, float a22, float a23,
|
||||||
|
float a30, float a31, float a32, float a33);
|
||||||
|
|
||||||
void copy(const Matrix& matrix);
|
void copy(const Matrix& matrix);
|
||||||
|
|
||||||
void makeScale(float sx, float sy, float sz);
|
void makeScale(float sx, float sy, float sz);
|
||||||
@ -52,6 +69,13 @@ class SG_EXPORT Matrix : public Object
|
|||||||
void postTrans( float tx, float ty, float tz );
|
void postTrans( float tx, float ty, float tz );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calc the rotation matrix which aligns vector \a old_vec with
|
||||||
|
* vector \a new_vec. Both \a old_vec and \a new_vec must have
|
||||||
|
* length 1.0.
|
||||||
|
*/
|
||||||
|
void makeRot( const Vec3& old_vec, const Vec3& new_vec );
|
||||||
|
|
||||||
void makeRot( float deg, float x, float y, float z );
|
void makeRot( float deg, float x, float y, float z );
|
||||||
void preRot( float deg, float x, float y, float z, const Matrix& m );
|
void preRot( float deg, float x, float y, float z, const Matrix& m );
|
||||||
void postRot( const Matrix& m, float deg, float x, float y, float z );
|
void postRot( const Matrix& m, float deg, float x, float y, float z );
|
||||||
@ -69,8 +93,24 @@ class SG_EXPORT Matrix : public Object
|
|||||||
|
|
||||||
Matrix operator * (const Matrix& m) const;
|
Matrix operator * (const Matrix& m) const;
|
||||||
|
|
||||||
|
/** apply apply an 3x3 transform of v*M[0..2,0..2] */
|
||||||
|
inline static Vec3 transform3x3(const Vec3& v,const Matrix& m);
|
||||||
|
/** apply apply an 3x3 transform of M[0..2,0..2]*v */
|
||||||
|
inline static Vec3 transform3x3(const Matrix& m,const Vec3& v);
|
||||||
|
|
||||||
|
/** post multipy v. ie. (m*v) */
|
||||||
inline Vec3 operator * (const Vec3& v) const;
|
inline Vec3 operator * (const Vec3& v) const;
|
||||||
inline friend Vec3 operator * (const Vec3& v,const Matrix& m);
|
|
||||||
|
/** pre multipy v. ie. (v*m) */
|
||||||
|
friend inline Vec3 operator * (const Vec3& v,const Matrix& m);
|
||||||
|
|
||||||
|
/** post multipy v. ie. (m*v) */
|
||||||
|
inline Vec4 operator * (const Vec4& v) const;
|
||||||
|
|
||||||
|
/** pre multipy v. ie. (v*m) */
|
||||||
|
friend inline Vec4 operator * (const Vec4& v,const Matrix& m);
|
||||||
|
|
||||||
|
friend inline ostream& operator << (ostream& output, const Matrix& matrix);
|
||||||
|
|
||||||
bool invert(const Matrix& m);
|
bool invert(const Matrix& m);
|
||||||
|
|
||||||
@ -78,12 +118,8 @@ class SG_EXPORT Matrix : public Object
|
|||||||
float _mat[4][4];
|
float _mat[4][4];
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// post multiple v. ie. (m*v)
|
|
||||||
inline Vec3 Matrix::operator * (const Vec3& v) const
|
inline Vec3 Matrix::operator * (const Vec3& v) const
|
||||||
{
|
{
|
||||||
float d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ;
|
float d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ;
|
||||||
@ -93,7 +129,6 @@ inline Vec3 Matrix::operator * (const Vec3& v) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// pre multiple v. ie. (v*m)
|
|
||||||
inline Vec3 operator * (const Vec3& v,const Matrix& m)
|
inline Vec3 operator * (const Vec3& v,const Matrix& m)
|
||||||
{
|
{
|
||||||
float d = 1.0f/(m._mat[0][3]*v.x()+m._mat[1][3]*v.y()+m._mat[2][3]*v.z()+m._mat[3][3]) ;
|
float d = 1.0f/(m._mat[0][3]*v.x()+m._mat[1][3]*v.y()+m._mat[2][3]*v.z()+m._mat[3][3]) ;
|
||||||
@ -102,6 +137,48 @@ inline Vec3 operator * (const Vec3& v,const Matrix& m)
|
|||||||
(m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z() + m._mat[3][2])*d);
|
(m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z() + m._mat[3][2])*d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline Vec4 Matrix::operator * (const Vec4& v) const
|
||||||
|
{
|
||||||
|
return Vec4( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3]*v.w()),
|
||||||
|
(_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3]*v.w()),
|
||||||
|
(_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3]*v.w()),
|
||||||
|
(_mat[3][0]*v.x() + _mat[3][1]*v.y() + _mat[3][2]*v.z() + _mat[3][3]*v.w())) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline Vec4 operator * (const Vec4& v,const Matrix& m)
|
||||||
|
{
|
||||||
|
return Vec4( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z() + m._mat[3][0]*v.w()),
|
||||||
|
(m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z() + m._mat[3][1]*v.w()),
|
||||||
|
(m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z() + m._mat[3][2]*v.w()),
|
||||||
|
(m._mat[0][3]*v.x() + m._mat[1][3]*v.y() + m._mat[2][3]*v.z() + m._mat[3][3]*v.w()));
|
||||||
|
}
|
||||||
|
|
||||||
|
inline Vec3 Matrix::transform3x3(const Vec3& v,const Matrix& m)
|
||||||
|
{
|
||||||
|
return Vec3( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z()),
|
||||||
|
(m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z()),
|
||||||
|
(m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z()));
|
||||||
|
}
|
||||||
|
|
||||||
|
inline Vec3 Matrix::transform3x3(const Matrix& m,const Vec3& v)
|
||||||
|
{
|
||||||
|
return Vec3( (m._mat[0][0]*v.x() + m._mat[0][1]*v.y() + m._mat[0][2]*v.z()),
|
||||||
|
(m._mat[1][0]*v.x() + m._mat[1][1]*v.y() + m._mat[1][2]*v.z()),
|
||||||
|
(m._mat[2][0]*v.x() + m._mat[2][1]*v.y() + m._mat[2][2]*v.z()) ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ostream& operator << (ostream& output, const Matrix& matrix)
|
||||||
|
{
|
||||||
|
output << "{"<<endl
|
||||||
|
<< " " << matrix._mat[0][0] << " " << matrix._mat[0][1] << " " << matrix._mat[0][2] << " " << matrix._mat[0][3] << endl
|
||||||
|
<< " " << matrix._mat[1][0] << " " << matrix._mat[1][1] << " " << matrix._mat[1][2] << " " << matrix._mat[1][3] << endl
|
||||||
|
<< " " << matrix._mat[2][0] << " " << matrix._mat[2][1] << " " << matrix._mat[2][2] << " " << matrix._mat[2][3] << endl
|
||||||
|
<< " " << matrix._mat[3][0] << " " << matrix._mat[3][1] << " " << matrix._mat[3][2] << " " << matrix._mat[3][3] << endl
|
||||||
|
<< "}" << endl;
|
||||||
|
return output; // to enable cascading
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
131
include/osg/Node
131
include/osg/Node
@ -1,9 +1,11 @@
|
|||||||
#ifndef OSG_NODE
|
#ifndef OSG_NODE
|
||||||
#define OSG_NODE 1
|
#define OSG_NODE 1
|
||||||
|
|
||||||
#include <osg/Types>
|
|
||||||
#include <osg/Object>
|
#include <osg/Object>
|
||||||
|
#include <osg/StateSet>
|
||||||
#include <osg/BoundingSphere>
|
#include <osg/BoundingSphere>
|
||||||
|
#include <osg/MemoryAdapter>
|
||||||
|
#include <osg/ref_ptr>
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@ -13,39 +15,6 @@ namespace osg {
|
|||||||
class NodeVisitor;
|
class NodeVisitor;
|
||||||
class Group;
|
class Group;
|
||||||
|
|
||||||
/** Class for adapting the memory management of external data.
|
|
||||||
* Typically used to specify the memory management of user data
|
|
||||||
* which can be attached to osg::Node.
|
|
||||||
*/
|
|
||||||
class SG_EXPORT MemoryAdapter : public Referenced
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MemoryAdapter() {}
|
|
||||||
|
|
||||||
/** Increment the reference count of the userData.*/
|
|
||||||
virtual void incrementReference(void* /*userData*/) = 0;
|
|
||||||
|
|
||||||
/** Decrement the reference count of the userData.
|
|
||||||
Is usually implemented such that if reference count
|
|
||||||
is decremented to zero the userData should be
|
|
||||||
deleted. However, this is entirely up to the
|
|
||||||
discression of the user who is extending this base class.*/
|
|
||||||
virtual void decrementReference(void* /*userData*/) = 0;
|
|
||||||
|
|
||||||
/** not current used, but will be used in future.*/
|
|
||||||
virtual void* clone(void* /*userData*/) { return 0L; }
|
|
||||||
|
|
||||||
/** not current used, but will be used in future.*/
|
|
||||||
virtual bool write(Output& /*fw*/,void* /*userData*/) { return false; }
|
|
||||||
|
|
||||||
/** not current used, but will be used in future.*/
|
|
||||||
virtual bool read(Input& /*fr*/,void* /*userData*/) { return false; }
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
virtual ~MemoryAdapter() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Base class for all internal nodes in the scene graph.
|
/** Base class for all internal nodes in the scene graph.
|
||||||
Provides interface for most common node operations (Composite Pattern).
|
Provides interface for most common node operations (Composite Pattern).
|
||||||
*/
|
*/
|
||||||
@ -60,11 +29,9 @@ class SG_EXPORT Node : public Object
|
|||||||
|
|
||||||
/** return a shallow copy of a node, with Object* return type.*/
|
/** return a shallow copy of a node, with Object* return type.*/
|
||||||
virtual Object* clone() const { return new Node(); }
|
virtual Object* clone() const { return new Node(); }
|
||||||
/** return a shallow copy of a node, with Node* return type.*/
|
|
||||||
Node* cloneNode() const { return (Node*)clone(); }
|
|
||||||
|
|
||||||
/** return true if this and obj are of the same kind of object.*/
|
/** return true if this and obj are of the same kind of object.*/
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Node*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Node*>(obj)!=NULL; }
|
||||||
|
|
||||||
/** return the name of the node's class type.*/
|
/** return the name of the node's class type.*/
|
||||||
virtual const char* className() const { return "Node"; }
|
virtual const char* className() const { return "Node"; }
|
||||||
@ -78,54 +45,66 @@ class SG_EXPORT Node : public Object
|
|||||||
|
|
||||||
|
|
||||||
/** Set the name of node using C++ style string.*/
|
/** Set the name of node using C++ style string.*/
|
||||||
void setName( const std::string& name ) { _name = name; }
|
inline void setName( const std::string& name ) { _name = name; }
|
||||||
/** Set the name of node using a C style string.*/
|
/** Set the name of node using a C style string.*/
|
||||||
void setName( const char* name ) { _name = name; }
|
inline void setName( const char* name ) { _name = name; }
|
||||||
/** Get the name of node.*/
|
/** Get the name of node.*/
|
||||||
const std::string& getName( void ) { return _name; }
|
inline const std::string& getName() const { return _name; }
|
||||||
|
|
||||||
|
|
||||||
/** A vector of osg::Group pointers which is used to store the parent(s) of node.*/
|
/** A vector of osg::Group pointers which is used to store the parent(s) of node.*/
|
||||||
typedef std::vector<Group*> ParentList;
|
typedef std::vector<Group*> ParentList;
|
||||||
|
|
||||||
/** Get the parent list of node. */
|
/** Get the parent list of node. */
|
||||||
const ParentList& getParents() const { return _parents; }
|
inline const ParentList& getParents() const { return _parents; }
|
||||||
|
|
||||||
|
/** Get the a copy of parent list of node. A copy is returned to
|
||||||
|
* prevent modifiaction of the parent list.*/
|
||||||
|
// inline ParentList getParents() { return _parents; }
|
||||||
|
|
||||||
|
inline Group* getParent(const int i) { return _parents[i]; }
|
||||||
/**
|
/**
|
||||||
* Get a single parent of node.
|
* Get a single const parent of node.
|
||||||
* @param i index of the parent to get.
|
* @param i index of the parent to get.
|
||||||
* @return the parent i.
|
* @return the parent i.
|
||||||
*/
|
*/
|
||||||
Group* getParent(int i) const { return _parents[i]; }
|
inline const Group* getParent(const int i) const { return _parents[i]; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the number of parents of node.
|
* Get the number of parents of node.
|
||||||
* @return the number of parents of this node.
|
* @return the number of parents of this node.
|
||||||
*/
|
*/
|
||||||
int getNumParents() const { return _parents.size(); }
|
inline const int getNumParents() const { return _parents.size(); }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set user data. See MemoryAdapter documention for details
|
* Set user data. See MemoryAdapter documention for details
|
||||||
* of how to specify memory managament of _userData.
|
* of how to specify memory managament of _userData.
|
||||||
*/
|
*/
|
||||||
void setUserData(void* data,MemoryAdapter* ma=0L)
|
inline void setUserData(void* data,MemoryAdapter* ma=0L)
|
||||||
{
|
{
|
||||||
if (_userData && _memoryAdapter.valid()) _memoryAdapter->decrementReference(_userData);
|
if (_userData && _memoryAdapter.valid()) _memoryAdapter->unref_data(_userData);
|
||||||
_userData = data;
|
_userData = data;
|
||||||
_memoryAdapter = ma;
|
_memoryAdapter = ma;
|
||||||
if (_userData && _memoryAdapter.valid()) _memoryAdapter->incrementReference(_userData);
|
if (_userData && _memoryAdapter.valid()) _memoryAdapter->ref_data(_userData);
|
||||||
}
|
}
|
||||||
/** Get user data.*/
|
/** Get user data.*/
|
||||||
void* getUserData() const { return _userData; }
|
inline void* getUserData() { return _userData; }
|
||||||
|
|
||||||
|
/** Get const user data.*/
|
||||||
|
inline const void* getUserData() const { return _userData; }
|
||||||
|
|
||||||
/** Get the memory adapter associated with _userData.*/
|
/** Get the memory adapter associated with _userData.*/
|
||||||
MemoryAdapter* getMemoryAdapter() const { return _memoryAdapter.get(); }
|
inline MemoryAdapter* getMemoryAdapter() { return _memoryAdapter.get(); }
|
||||||
|
|
||||||
|
/** Get the const memory adapter associated with _userData.*/
|
||||||
|
inline const MemoryAdapter* getMemoryAdapter() const { return _memoryAdapter.get(); }
|
||||||
|
|
||||||
typedef unsigned int NodeMask;
|
typedef unsigned int NodeMask;
|
||||||
/** Set the node mask. Note, node mask is will be replaced by TraversalMask.*/
|
/** Set the node mask. Note, node mask is will be replaced by TraversalMask.*/
|
||||||
void setNodeMask(NodeMask nm) { _nodeMask = nm; }
|
inline void setNodeMask(const NodeMask nm) { _nodeMask = nm; }
|
||||||
/** Get the node Mask. Note, node mask is will be replaced by TraversalMask.*/
|
/** Get the node Mask. Note, node mask is will be replaced by TraversalMask.*/
|
||||||
NodeMask getNodeMask() { return _nodeMask; }
|
inline const NodeMask getNodeMask() const { return _nodeMask; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -133,21 +112,36 @@ class SG_EXPORT Node : public Object
|
|||||||
typedef std::vector<std::string> DescriptionList;
|
typedef std::vector<std::string> DescriptionList;
|
||||||
|
|
||||||
/** Get the description list of the const node.*/
|
/** Get the description list of the const node.*/
|
||||||
const DescriptionList& getDescriptions() const { return _descriptions; }
|
inline const DescriptionList& getDescriptions() const { return _descriptions; }
|
||||||
/** Get the description list of the const node.*/
|
/** Get the description list of the const node.*/
|
||||||
DescriptionList& getDescriptions() { return _descriptions; }
|
inline DescriptionList& getDescriptions() { return _descriptions; }
|
||||||
/** Get a single const description of the const node.*/
|
/** Get a single const description of the const node.*/
|
||||||
const std::string& getDescription(int i) const { return _descriptions[i]; }
|
inline const std::string& getDescription(const int i) const { return _descriptions[i]; }
|
||||||
/** Get a single description of the node.*/
|
/** Get a single description of the node.*/
|
||||||
std::string& getDescription(int i) { return _descriptions[i]; }
|
inline std::string& getDescription(const int i) { return _descriptions[i]; }
|
||||||
/** Get the number of descriptions of the node.*/
|
/** Get the number of descriptions of the node.*/
|
||||||
int getNumDescriptions() const { return _descriptions.size(); }
|
inline const int getNumDescriptions() const { return _descriptions.size(); }
|
||||||
/** Add a description string to the node.*/
|
/** Add a description string to the node.*/
|
||||||
void addDescription(const std::string& desc) { _descriptions.push_back(desc); }
|
void addDescription(const std::string& desc) { _descriptions.push_back(desc); }
|
||||||
|
|
||||||
|
|
||||||
|
/** set the node's StateSet.*/
|
||||||
|
inline void setStateSet(osg::StateSet* dstate) { _dstate = dstate; }
|
||||||
|
|
||||||
|
/** return the node's StateSet.*/
|
||||||
|
inline osg::StateSet* getStateSet() { return _dstate.get(); }
|
||||||
|
|
||||||
|
/** return the node's const StateSet.*/
|
||||||
|
inline const osg::StateSet* getStateSet() const { return _dstate.get(); }
|
||||||
|
|
||||||
/** get the bounding sphere of node.
|
/** get the bounding sphere of node.
|
||||||
Using lazy evaluation computes the bounding sphere if it is 'dirty'.*/
|
Using lazy evaluation computes the bounding sphere if it is 'dirty'.*/
|
||||||
const BoundingSphere& getBound();
|
inline const BoundingSphere& getBound() const
|
||||||
|
{
|
||||||
|
if(!_bsphere_computed) computeBound();
|
||||||
|
return _bsphere;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Mark this node's bounding sphere dirty.
|
/** Mark this node's bounding sphere dirty.
|
||||||
Forcing it to be computed on the next call to getBound().*/
|
Forcing it to be computed on the next call to getBound().*/
|
||||||
@ -165,29 +159,14 @@ class SG_EXPORT Node : public Object
|
|||||||
= new Node().*/
|
= new Node().*/
|
||||||
virtual ~Node();
|
virtual ~Node();
|
||||||
|
|
||||||
/**
|
|
||||||
* Template Method Pattern : read local data from .osg file.
|
|
||||||
* Note should be implemented in derived classes, which
|
|
||||||
* call their parent class's readLocalData.
|
|
||||||
* @return true if the input iterator has been advanced, otherwise false.
|
|
||||||
*/
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Template Method Pattern : read local data from .osg file.
|
|
||||||
* Note should be implemented in derivied classes, which
|
|
||||||
* call their parent class's writeLocalData.
|
|
||||||
* @return true if data has been written out, otherwise false.
|
|
||||||
*/
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
/** Compute the bounding sphere around Node's geometry or children.
|
/** Compute the bounding sphere around Node's geometry or children.
|
||||||
This method is automatically called by getBound() when the bounding
|
This method is automatically called by getBound() when the bounding
|
||||||
sphere has been marked dirty via dirtyBound().*/
|
sphere has been marked dirty via dirtyBound().*/
|
||||||
virtual bool computeBound( void ) ;
|
virtual const bool computeBound() const;
|
||||||
|
|
||||||
BoundingSphere _bsphere;
|
mutable BoundingSphere _bsphere;
|
||||||
bool _bsphere_computed;
|
mutable bool _bsphere_computed;
|
||||||
|
|
||||||
std::string _name;
|
std::string _name;
|
||||||
|
|
||||||
@ -201,6 +180,8 @@ class SG_EXPORT Node : public Object
|
|||||||
|
|
||||||
DescriptionList _descriptions;
|
DescriptionList _descriptions;
|
||||||
|
|
||||||
|
ref_ptr<StateSet> _dstate;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/** A vector of Nodes pointers which is used to describe the path from a root node to a descendant.*/
|
/** A vector of Nodes pointers which is used to describe the path from a root node to a descendant.*/
|
||||||
|
@ -9,11 +9,11 @@ class Geode;
|
|||||||
class Billboard;
|
class Billboard;
|
||||||
class LightSource;
|
class LightSource;
|
||||||
class Group;
|
class Group;
|
||||||
class DCS;
|
class Transform;
|
||||||
class LOD;
|
class LOD;
|
||||||
class Sequence;
|
class Sequence;
|
||||||
class Scene;
|
|
||||||
class Switch;
|
class Switch;
|
||||||
|
class Impostor;
|
||||||
|
|
||||||
/** Visitor for type safe operations on osg::Node's.
|
/** Visitor for type safe operations on osg::Node's.
|
||||||
Based on GOF's Visitor pattern.*/
|
Based on GOF's Visitor pattern.*/
|
||||||
@ -32,21 +32,27 @@ class SG_EXPORT NodeVisitor : public Referenced
|
|||||||
NodeVisitor(TraversalMode tm=TRAVERSE_NONE);
|
NodeVisitor(TraversalMode tm=TRAVERSE_NONE);
|
||||||
virtual ~NodeVisitor();
|
virtual ~NodeVisitor();
|
||||||
|
|
||||||
|
/** Method to call to reset visitor. Useful for your visitor accumulates
|
||||||
|
state during a traversal, and you plan to resuse the visitor.
|
||||||
|
To flush that state for the next traversal than call reset() prior
|
||||||
|
to each traversal.*/
|
||||||
|
virtual void reset() {}
|
||||||
|
|
||||||
/** Set the traversal mode for Node::traverse() to use when
|
/** Set the traversal mode for Node::traverse() to use when
|
||||||
deciding which children of a node to traverse. If a
|
deciding which children of a node to traverse. If a
|
||||||
NodeVisitor has been attached via setTraverseVisitor()
|
NodeVisitor has been attached via setTraverseVisitor()
|
||||||
and the new mode is not TRAVERSE_VISITOR then the attached
|
and the new mode is not TRAVERSE_VISITOR then the attached
|
||||||
visitor is detached. Default mode is TRAVERSE_NONE.*/
|
visitor is detached. Default mode is TRAVERSE_NONE.*/
|
||||||
void setTraverseMode(TraversalMode mode);
|
void setTraversalMode(const TraversalMode mode);
|
||||||
/** Get the traversal mode.*/
|
/** Get the traversal mode.*/
|
||||||
TraversalMode getTraverseMode() { return _traverseMode; }
|
inline const TraversalMode getTraversalMode() const { return _traversalMode; }
|
||||||
/** Set a visitor to handle traversal.
|
|
||||||
Overides the traverse mode setting it to TRAVERSE_VISITOR.*/
|
|
||||||
|
|
||||||
void setTraverseVisitor(NodeVisitor* nv);
|
/** Set a visitor to handle traversal.
|
||||||
/** Get the traverse visitor, returns NULL if none is attached.*/
|
Overides the traverse mode setting it to TRAVERSAL_VISITOR.*/
|
||||||
NodeVisitor* getTraverseVisitor() { return _traverseVisitor; }
|
void setTraversalVisitor(NodeVisitor* nv);
|
||||||
|
|
||||||
|
/** Get the traversal visitor, returns NULL if none is attached.*/
|
||||||
|
NodeVisitor* getTraversalVisitor() { return _traversalVisitor.get(); }
|
||||||
|
|
||||||
/** Inline method for passing handling traversal of a nodes.
|
/** Inline method for passing handling traversal of a nodes.
|
||||||
If you intend to use the visitor for actively traversing
|
If you intend to use the visitor for actively traversing
|
||||||
@ -54,28 +60,28 @@ class SG_EXPORT NodeVisitor : public Referenced
|
|||||||
this method unless they handle traversal directly.*/
|
this method unless they handle traversal directly.*/
|
||||||
void traverse(Node& node)
|
void traverse(Node& node)
|
||||||
{
|
{
|
||||||
if (_traverseVisitor) node.accept(*_traverseVisitor);
|
if (_traversalVisitor.valid()) node.accept(*_traversalVisitor);
|
||||||
else if (_traverseMode==TRAVERSE_PARENTS) node.ascend(*this);
|
else if (_traversalMode==TRAVERSE_PARENTS) node.ascend(*this);
|
||||||
else if (_traverseMode!=TRAVERSE_NONE) node.traverse(*this);
|
else if (_traversalMode!=TRAVERSE_NONE) node.traverse(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void apply(Node& node) { traverse(node);}
|
virtual void apply(Node& node) { traverse(node);}
|
||||||
|
|
||||||
virtual void apply(Geode& node) { apply((Node&)node); }
|
virtual void apply(Geode& node) { apply((Node&)node); }
|
||||||
virtual void apply(Billboard& node){ apply((Geode&)node); }
|
virtual void apply(Billboard& node) { apply((Geode&)node); }
|
||||||
virtual void apply(LightSource& node){ apply((Node&)node); }
|
virtual void apply(LightSource& node){ apply((Node&)node); }
|
||||||
|
|
||||||
virtual void apply(Group& node) { apply((Node&)node); }
|
virtual void apply(Group& node) { apply((Node&)node); }
|
||||||
virtual void apply(DCS& node) { apply((Group&)node); }
|
virtual void apply(Transform& node) { apply((Group&)node); }
|
||||||
virtual void apply(Switch& node) { apply((Group&)node); }
|
virtual void apply(Switch& node) { apply((Group&)node); }
|
||||||
virtual void apply(Sequence& node) { apply((Group&)node); }
|
virtual void apply(Sequence& node) { apply((Group&)node); }
|
||||||
virtual void apply(LOD& node) { apply((Group&)node); }
|
virtual void apply(LOD& node) { apply((Group&)node); }
|
||||||
virtual void apply(Scene& node) { apply((Group&)node); }
|
virtual void apply(Impostor& node) { apply((LOD&)node); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
NodeVisitor* _traverseVisitor;
|
ref_ptr<NodeVisitor> _traversalVisitor;
|
||||||
TraversalMode _traverseMode;
|
TraversalMode _traversalMode;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,59 +6,84 @@
|
|||||||
#ifdef OSG_USE_IO_DOT_H
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
#include <iostream.h>
|
#include <iostream.h>
|
||||||
#include <fstream.h>
|
#include <fstream.h>
|
||||||
//#include <stdlib.h>
|
|
||||||
#else
|
#else
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
//#include <stdlib.h>
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
/** Range of notify levels from DEBUG_FP through to FATAL, ALWAYS
|
||||||
|
* is reserved for forcing the absorption of all messages. The
|
||||||
|
* keywords are also used verbatim when specified by the environmental
|
||||||
|
* variable OSGNOTIFYLEVEL. See documentation on osg::notify() for
|
||||||
|
* further details.
|
||||||
|
*/
|
||||||
enum NotifySeverity {
|
enum NotifySeverity {
|
||||||
ALWAYS=0,
|
ALWAYS=0,
|
||||||
FATAL=1,
|
FATAL=1,
|
||||||
WARN=2,
|
WARN=2,
|
||||||
NOTICE=3,
|
NOTICE=3,
|
||||||
INFO=4,
|
INFO=4,
|
||||||
DEBUG=5,
|
DEBUG_INFO=5,
|
||||||
FP_DEBUG=6
|
DEBUG_FP=6
|
||||||
};
|
};
|
||||||
|
|
||||||
extern NotifySeverity g_NotifyLevel;
|
/** global notify level. */
|
||||||
extern ofstream *g_absorbStreamPtr;
|
SG_EXPORT extern NotifySeverity g_NotifyLevel;
|
||||||
|
|
||||||
|
/** set the notify level, overriding the default or value set by
|
||||||
|
* the environmental variable OSGNOTIFYLEVEL.
|
||||||
|
*/
|
||||||
SG_EXPORT extern void setNotifyLevel(NotifySeverity severity);
|
SG_EXPORT extern void setNotifyLevel(NotifySeverity severity);
|
||||||
SG_EXPORT extern int getNotifyLevel();
|
|
||||||
|
/** get the notify level. */
|
||||||
|
SG_EXPORT extern NotifySeverity getNotifyLevel();
|
||||||
|
|
||||||
|
/** initialize notify level. */
|
||||||
|
SG_EXPORT extern bool initNotifyLevel();
|
||||||
|
|
||||||
|
/** notify messaging function for providing fatal through to verbose
|
||||||
|
* debugging messages. Level of messages sent to the console can
|
||||||
|
* be controlled by setting the NotifyLevel either within your
|
||||||
|
* application or via the an environmental variable. For instance
|
||||||
|
* setenv OSGNOTIFYLEVEL DEBUG (for tsh), export OSGNOTIFYLEVEL=DEBUG
|
||||||
|
* (for bourne shell) or set OSGNOTIFYLEVEL=DEBUG (for Windows) all
|
||||||
|
* set tell the osg to redirect all debugging and more important messages
|
||||||
|
* to the console (useful for debugging :-) setting ALWAYS will force
|
||||||
|
* all messages to be absorbed, which might be appropriate for final
|
||||||
|
* applications. Default NotifyLevel is NOTICE. Check the enum
|
||||||
|
* NotifySeverity for full range of possibilities. To use the notify
|
||||||
|
* with your code simply use the notify function as a normal file
|
||||||
|
* stream (like cout) i.e osg::notify(osg::DEBUG) << "Hello Bugs!"<<endl;
|
||||||
|
*/
|
||||||
|
inline ostream& notify(const NotifySeverity severity=INFO)
|
||||||
|
{
|
||||||
|
static bool s_initialized = initNotifyLevel();
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
/* a little hack to prevent gcc's warning message (will be optimized away) */
|
||||||
|
if ( 0 && s_initialized )
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
inline ostream& notify(NotifySeverity severity=INFO)
|
static ofstream s_abosorbStr("nul");
|
||||||
{
|
#else
|
||||||
if (severity<=osg::WARN) return cerr;
|
static ofstream s_abosorbStr("/dev/null");
|
||||||
else return cout;
|
#endif
|
||||||
|
|
||||||
|
if (severity<=g_NotifyLevel)
|
||||||
|
{
|
||||||
|
if (severity<=osg::WARN) return cerr;
|
||||||
|
else return cout;
|
||||||
|
}
|
||||||
|
return s_abosorbStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
|
||||||
SG_EXPORT extern ostream& notify(NotifySeverity severity=INFO);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// A nifty_counter to ensure that the notify things are initialised before
|
|
||||||
// they're used. Initialises g_NotifyLevel and g_absorbStreamPointer
|
|
||||||
class SG_EXPORT NotifyInit
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
NotifyInit();
|
|
||||||
~NotifyInit();
|
|
||||||
|
|
||||||
private:
|
|
||||||
static int count_;
|
|
||||||
};
|
|
||||||
|
|
||||||
static NotifyInit niftyNotifyInit;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -5,9 +5,6 @@
|
|||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class Input;
|
|
||||||
class Output;
|
|
||||||
|
|
||||||
/** Base class/standard interface for objects which require IO support,
|
/** Base class/standard interface for objects which require IO support,
|
||||||
cloning and reference counting.
|
cloning and reference counting.
|
||||||
Based on GOF Composite, Prototype and Template Method patterns.
|
Based on GOF Composite, Prototype and Template Method patterns.
|
||||||
@ -25,23 +22,12 @@ class SG_EXPORT Object : public Referenced
|
|||||||
Must be defined by derived classes.*/
|
Must be defined by derived classes.*/
|
||||||
virtual Object* clone() const = 0;
|
virtual Object* clone() const = 0;
|
||||||
|
|
||||||
virtual bool isSameKindAs(Object*) { return true; }
|
virtual bool isSameKindAs(const Object*) const { return true; }
|
||||||
|
|
||||||
/** return the name of the object's class type. Must be defined
|
/** return the name of the object's class type. Must be defined
|
||||||
by derived classes.*/
|
by derived classes.*/
|
||||||
virtual const char* className() const = 0;
|
virtual const char* className() const = 0;
|
||||||
|
|
||||||
/** Template Method/Prototype Pattern : create a clone and read
|
|
||||||
Object data from Input. Reads Input and if it matches this
|
|
||||||
objects className() then create a clone and match '{' brackets
|
|
||||||
and repeating calling Object::readLocalData() until the
|
|
||||||
matching ']' is read.*/
|
|
||||||
virtual Object* readClone(Input& fr);
|
|
||||||
/** Template Method Pattern : write out Object data to Output.
|
|
||||||
Sequence of output is className() followed by Open '{'
|
|
||||||
and then call Object::writeLocalData() and complete with '}'.*/
|
|
||||||
virtual bool write(Output& fw);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
/** Object destructor. Note, is protected so that Objects cannot
|
/** Object destructor. Note, is protected so that Objects cannot
|
||||||
@ -53,17 +39,6 @@ class SG_EXPORT Object : public Referenced
|
|||||||
= new Node().*/
|
= new Node().*/
|
||||||
virtual ~Object() {}
|
virtual ~Object() {}
|
||||||
|
|
||||||
/** Template Method Pattern : read local data from .osg file.
|
|
||||||
Note should be implemented in derivied classes, which
|
|
||||||
call their parent class's readLocalData. Returns
|
|
||||||
true if the input iterator has been advanced, otherwise false.*/
|
|
||||||
virtual bool readLocalData(Input&) { return false; }
|
|
||||||
/** Template Method Pattern : write local data to .osg file.
|
|
||||||
Note should be implemented in derivied classes, which
|
|
||||||
call their parent class's writeLocalData. Returns
|
|
||||||
true if data has been written out, otherwise false.*/
|
|
||||||
virtual bool writeLocalData(Output&) { return false; }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
/** disallow any form of deep copy.*/
|
/** disallow any form of deep copy.*/
|
||||||
|
@ -1,33 +1,39 @@
|
|||||||
#ifndef OSG_POINT
|
#ifndef OSG_POINT
|
||||||
#define OSG_POINT 1
|
#define OSG_POINT 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <osg/Object>
|
|
||||||
#include <osg/Vec3>
|
#include <osg/Vec3>
|
||||||
|
#include <osg/StateAttribute>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class Input;
|
/** Point - encapsulates the OpenGL point smmothing and size state.*/
|
||||||
class Output;
|
class SG_EXPORT Point : public StateAttribute
|
||||||
|
|
||||||
class SG_EXPORT Point : public Object
|
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
Point();
|
Point();
|
||||||
static Point* instance();
|
|
||||||
virtual Object* clone() const { return new Point(); }
|
virtual Object* clone() const { return new Point(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Point*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Point*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Point"; }
|
virtual const char* className() const { return "Point"; }
|
||||||
|
|
||||||
void setSize(float size);
|
virtual const Type getType() const { return POINT; }
|
||||||
void setFadeThresholdSize(float fadeThresholdSize);
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_POINT_SMOOTH,value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSize(const float size);
|
||||||
|
inline const float getSize() const { return _size; }
|
||||||
|
|
||||||
|
void setFadeThresholdSize(const float fadeThresholdSize);
|
||||||
|
inline const float getFadeThresholdSize() const { return _fadeThresholdSize; }
|
||||||
|
|
||||||
void setDistanceAttenuation(const Vec3& distanceAttenuation);
|
void setDistanceAttenuation(const Vec3& distanceAttenuation);
|
||||||
|
inline const Vec3& getDistanceAttenuation() const { return _distanceAttenuation; }
|
||||||
|
|
||||||
static void enableSmooth( void );
|
virtual void apply(State& state) const;
|
||||||
static void disableSmooth( void );
|
|
||||||
|
|
||||||
void apply( void );
|
|
||||||
|
|
||||||
static void init_GL_EXT();
|
static void init_GL_EXT();
|
||||||
|
|
||||||
@ -35,9 +41,6 @@ class SG_EXPORT Point : public Object
|
|||||||
|
|
||||||
virtual ~Point();
|
virtual ~Point();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
float _size;
|
float _size;
|
||||||
float _fadeThresholdSize;
|
float _fadeThresholdSize;
|
||||||
Vec3 _distanceAttenuation;
|
Vec3 _distanceAttenuation;
|
||||||
|
@ -1,39 +1,42 @@
|
|||||||
#ifndef OSG_POLYGONOFFSET
|
#ifndef OSG_POLYGONOFFSET
|
||||||
#define OSG_POLYGONOFFSET 1
|
#define OSG_POLYGONOFFSET 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/StateAttribute>
|
||||||
#include <osg/Object>
|
#include <osg/StateSet>
|
||||||
#include <osg/Vec3>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class Input;
|
/** PolygonOffset - encapsulates the OpenGL glPolygonOffset state.*/
|
||||||
class Output;
|
class SG_EXPORT PolygonOffset : public StateAttribute
|
||||||
|
|
||||||
class SG_EXPORT PolygonOffset : public Object
|
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
PolygonOffset();
|
PolygonOffset();
|
||||||
static PolygonOffset* instance();
|
|
||||||
virtual Object* clone() const { return new PolygonOffset(); }
|
virtual Object* clone() const { return new PolygonOffset(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<PolygonOffset*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const PolygonOffset*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "PolygonOffset"; }
|
virtual const char* className() const { return "PolygonOffset"; }
|
||||||
|
|
||||||
void setOffset(float factor,float units);
|
virtual const Type getType() const { return POLYGONOFFSET; }
|
||||||
|
|
||||||
static void enable( void );
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
static void disable( void );
|
{
|
||||||
|
ds.setMode(GL_POLYGON_OFFSET_FILL,value);
|
||||||
|
ds.setMode(GL_POLYGON_OFFSET_LINE,value);
|
||||||
|
ds.setMode(GL_POLYGON_OFFSET_POINT,value);
|
||||||
|
}
|
||||||
|
|
||||||
void apply( void );
|
inline void setFactor(const float factor) { _factor = factor; }
|
||||||
|
inline const float getFactor() const { return _factor; }
|
||||||
|
|
||||||
|
inline void setUnits(const float units) { _units = units; }
|
||||||
|
inline const float getUnits() const { return _units; }
|
||||||
|
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~PolygonOffset();
|
virtual ~PolygonOffset();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
float _factor;
|
float _factor;
|
||||||
float _units;
|
float _units;
|
||||||
|
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
#ifndef OSG_QUAT
|
#ifndef OSG_QUAT
|
||||||
#define OSG_QUAT 1
|
#define OSG_QUAT 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include <osg/Vec4>
|
|
||||||
#include <osg/Vec3>
|
#include <osg/Vec3>
|
||||||
|
#include <osg/Vec4>
|
||||||
#include <osg/Matrix>
|
#include <osg/Matrix>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
@ -28,30 +25,39 @@ class SG_EXPORT Quat
|
|||||||
---------------------------------------------------------- */
|
---------------------------------------------------------- */
|
||||||
Vec4 _fv; // a four-vector
|
Vec4 _fv; // a four-vector
|
||||||
|
|
||||||
/* ----------------------------------
|
Quat() {}
|
||||||
CONSTRUCTORS
|
Quat( float x, float y, float z, float w ): _fv(x,y,z,w) {}
|
||||||
Default constructor
|
Quat( const Vec4& v ): _fv(v) {}
|
||||||
One to accept four floats
|
|
||||||
One to accept a Vec4
|
|
||||||
These are implemented in Quat.cpp
|
|
||||||
---------------------------------- */
|
|
||||||
Quat( void );
|
|
||||||
Quat( float x, float y, float z, float w );
|
|
||||||
Quat( const Vec4& vec );
|
|
||||||
|
|
||||||
/* ----------------------------------
|
/* ----------------------------------
|
||||||
Methods to access data members
|
Methods to access data members
|
||||||
---------------------------------- */
|
---------------------------------- */
|
||||||
inline Vec4 asVec4( void ) const
|
inline Vec4& asVec4()
|
||||||
{
|
{
|
||||||
return _fv;
|
return _fv;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline Vec3 asVec3( void ) const
|
inline const Vec4& asVec4() const
|
||||||
|
{
|
||||||
|
return _fv;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline const Vec3 asVec3() const
|
||||||
{
|
{
|
||||||
return Vec3(_fv[0], _fv[1], _fv[2]);
|
return Vec3(_fv[0], _fv[1], _fv[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void set(const float x, const float y, const float z, const float w)
|
||||||
|
{
|
||||||
|
_fv.set(x,y,z,w);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void set(const osg::Vec4& v)
|
||||||
|
{
|
||||||
|
_fv = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------
|
/* -------------------------------------------------------------
|
||||||
BASIC ARITHMETIC METHODS
|
BASIC ARITHMETIC METHODS
|
||||||
Implemented in terms of Vec4s. Some Vec4 operators, e.g.
|
Implemented in terms of Vec4s. Some Vec4 operators, e.g.
|
||||||
@ -60,7 +66,7 @@ class SG_EXPORT Quat
|
|||||||
Also define methods for conjugate and the multiplicative inverse.
|
Also define methods for conjugate and the multiplicative inverse.
|
||||||
------------------------------------------------------------- */
|
------------------------------------------------------------- */
|
||||||
/// Multiply by scalar
|
/// Multiply by scalar
|
||||||
inline Quat operator * (const float& rhs) const
|
inline const Quat operator * (const float& rhs) const
|
||||||
{
|
{
|
||||||
return Quat(_fv*rhs);
|
return Quat(_fv*rhs);
|
||||||
}
|
}
|
||||||
@ -73,7 +79,7 @@ class SG_EXPORT Quat
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Binary multiply
|
/// Binary multiply
|
||||||
inline Quat operator*(const Quat& rhs) const
|
inline const Quat operator*(const Quat& rhs) const
|
||||||
{
|
{
|
||||||
return Quat( _fv[3]*rhs._fv[0] + _fv[0]*rhs._fv[3] + _fv[1]*rhs._fv[2] - _fv[2]*rhs._fv[1],
|
return Quat( _fv[3]*rhs._fv[0] + _fv[0]*rhs._fv[3] + _fv[1]*rhs._fv[2] - _fv[2]*rhs._fv[1],
|
||||||
_fv[3]*rhs._fv[1] - _fv[0]*rhs._fv[2] + _fv[1]*rhs._fv[3] + _fv[2]*rhs._fv[0],
|
_fv[3]*rhs._fv[1] - _fv[0]*rhs._fv[2] + _fv[1]*rhs._fv[3] + _fv[2]*rhs._fv[0],
|
||||||
@ -97,7 +103,7 @@ class SG_EXPORT Quat
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Divide by scalar
|
/// Divide by scalar
|
||||||
inline Quat operator / (const float& rhs) const
|
inline const Quat operator / (const float& rhs) const
|
||||||
{
|
{
|
||||||
return Quat(_fv/rhs);
|
return Quat(_fv/rhs);
|
||||||
}
|
}
|
||||||
@ -110,7 +116,7 @@ class SG_EXPORT Quat
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Binary divide
|
/// Binary divide
|
||||||
inline Quat operator/(const Quat& denom) const
|
inline const Quat operator/(const Quat& denom) const
|
||||||
{
|
{
|
||||||
return ( (*this) * denom.inverse() );
|
return ( (*this) * denom.inverse() );
|
||||||
}
|
}
|
||||||
@ -123,7 +129,7 @@ class SG_EXPORT Quat
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Binary addition
|
/// Binary addition
|
||||||
inline Quat operator + (const Quat& rhs) const
|
inline const Quat operator + (const Quat& rhs) const
|
||||||
{
|
{
|
||||||
return Quat( _fv + rhs._fv );
|
return Quat( _fv + rhs._fv );
|
||||||
}
|
}
|
||||||
@ -136,7 +142,7 @@ class SG_EXPORT Quat
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Binary subtraction
|
/// Binary subtraction
|
||||||
inline Quat operator - (const Quat& rhs) const
|
inline const Quat operator - (const Quat& rhs) const
|
||||||
{
|
{
|
||||||
return Quat( _fv - rhs._fv );
|
return Quat( _fv - rhs._fv );
|
||||||
}
|
}
|
||||||
@ -150,31 +156,31 @@ class SG_EXPORT Quat
|
|||||||
|
|
||||||
/** Negation operator - returns the negative of the quaternion.
|
/** Negation operator - returns the negative of the quaternion.
|
||||||
Basically just calls operator - () on the Vec4 */
|
Basically just calls operator - () on the Vec4 */
|
||||||
inline Quat operator - () const
|
inline const Quat operator - () const
|
||||||
{
|
{
|
||||||
return Quat ( -_fv );
|
return Quat ( -_fv );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length of the quaternion = sqrt( vec . vec )
|
/// Length of the quaternion = sqrt( vec . vec )
|
||||||
float length( void ) const
|
const float length() const
|
||||||
{
|
{
|
||||||
return _fv.length();
|
return _fv.length();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length of the quaternion = vec . vec
|
/// Length of the quaternion = vec . vec
|
||||||
float length2( void ) const
|
const float length2() const
|
||||||
{
|
{
|
||||||
return _fv.length2();
|
return _fv.length2();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Conjugate
|
/// Conjugate
|
||||||
inline Quat conj ( void ) const
|
inline const Quat conj () const
|
||||||
{
|
{
|
||||||
return Quat( -_fv[0], -_fv[1], -_fv[2], _fv[3] );
|
return Quat( -_fv[0], -_fv[1], -_fv[2], _fv[3] );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Multiplicative inverse method: q^(-1) = q^*/(q.q^*)
|
/// Multiplicative inverse method: q^(-1) = q^*/(q.q^*)
|
||||||
inline Quat inverse ( void ) const
|
inline const Quat inverse () const
|
||||||
{
|
{
|
||||||
return conj() / length2();
|
return conj() / length2();
|
||||||
}
|
}
|
||||||
@ -215,17 +221,18 @@ class SG_EXPORT Quat
|
|||||||
/** Get the equivalent matrix for this quaternion.*/
|
/** Get the equivalent matrix for this quaternion.*/
|
||||||
void get( osg::Matrix& m ) const;
|
void get( osg::Matrix& m ) const;
|
||||||
|
|
||||||
friend inline ostream& operator << (ostream& output, const Quat& vec)
|
friend inline ostream& operator << (ostream& output, const Quat& vec);
|
||||||
{
|
|
||||||
output << vec._fv[0] << " "
|
|
||||||
<< vec._fv[1] << " "
|
|
||||||
<< vec._fv[2] << " "
|
|
||||||
<< vec._fv[3];
|
|
||||||
return output; // to enable cascading
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}; // end of class prototype
|
}; // end of class prototype
|
||||||
|
|
||||||
|
inline ostream& operator << (ostream& output, const Quat& vec)
|
||||||
|
{
|
||||||
|
output << vec._fv[0] << " "
|
||||||
|
<< vec._fv[1] << " "
|
||||||
|
<< vec._fv[2] << " "
|
||||||
|
<< vec._fv[3];
|
||||||
|
return output; // to enable cascading
|
||||||
|
}
|
||||||
|
|
||||||
}; // end of namespace
|
}; // end of namespace
|
||||||
#endif
|
#endif
|
||||||
|
@ -2,100 +2,35 @@
|
|||||||
#define OSG_REFERENCED 1
|
#define OSG_REFERENCED 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/Export>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Convience functor for unreferencing objects.*/
|
|
||||||
template<class T>
|
|
||||||
struct UnrefOp
|
|
||||||
{
|
|
||||||
void operator () (T* node) { node->unref(); }
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Smart pointer for handling referenced counted objects.*/
|
|
||||||
template<class T>
|
|
||||||
class ref_ptr
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
ref_ptr() :_ptr(0L) {}
|
|
||||||
ref_ptr(T* t):_ptr(t) { if (_ptr) _ptr->ref(); }
|
|
||||||
ref_ptr(const ref_ptr& rp):_ptr(rp._ptr) { if (_ptr) _ptr->ref(); }
|
|
||||||
~ref_ptr() { if (_ptr) _ptr->unref(); }
|
|
||||||
|
|
||||||
ref_ptr& operator = (const ref_ptr& rp)
|
|
||||||
{
|
|
||||||
if (_ptr==rp._ptr) return *this;
|
|
||||||
if (_ptr) _ptr->unref();
|
|
||||||
_ptr = rp._ptr;
|
|
||||||
if (_ptr) _ptr->ref();
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
ref_ptr& operator = (T* ptr)
|
|
||||||
{
|
|
||||||
if (_ptr==ptr) return *this;
|
|
||||||
if (_ptr) _ptr->unref();
|
|
||||||
_ptr = ptr;
|
|
||||||
if (_ptr) _ptr->ref();
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator == (const ref_ptr& rp) const
|
|
||||||
{
|
|
||||||
return (_ptr==rp._ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator == (const T* ptr) const
|
|
||||||
{
|
|
||||||
return (_ptr==ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator != (const ref_ptr& rp) const
|
|
||||||
{
|
|
||||||
return (_ptr!=rp._ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator != (const T* ptr) const
|
|
||||||
{
|
|
||||||
return (_ptr!=ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
T& operator*() const { return *_ptr; }
|
|
||||||
T* operator->() const { return _ptr; }
|
|
||||||
bool operator!() const { return _ptr==0L; }
|
|
||||||
bool valid() const { return _ptr!=0L; }
|
|
||||||
|
|
||||||
T* get() const { return _ptr; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
T* _ptr;
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Base class from providing referencing counted objects.*/
|
/** Base class from providing referencing counted objects.*/
|
||||||
class Referenced
|
class SG_EXPORT Referenced
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Referenced() { _refCount=0; }
|
Referenced() { _refCount=0; }
|
||||||
Referenced(Referenced&) { _refCount=0; }
|
Referenced(const Referenced&) { _refCount=0; }
|
||||||
|
|
||||||
Referenced& operator = (Referenced&) { return *this; }
|
inline Referenced& operator = (Referenced&) { return *this; }
|
||||||
|
|
||||||
/** increment the reference count by one, indicating that
|
/** increment the reference count by one, indicating that
|
||||||
this object has another pointer which is referencing it.*/
|
this object has another pointer which is referencing it.*/
|
||||||
void ref() { ++_refCount; }
|
inline void ref() const { ++_refCount; }
|
||||||
/** decrement the reference count by one, indicating that
|
/** decrement the reference count by one, indicating that
|
||||||
a pointer to this object is referencing it. If the
|
a pointer to this object is referencing it. If the
|
||||||
refence count goes to zero, it is assumed that this object
|
refence count goes to zero, it is assumed that this object
|
||||||
is nolonger referenced and is automatically deleted.*/
|
is nolonger referenced and is automatically deleted.*/
|
||||||
void unref() { --_refCount; if (_refCount<=0) delete this; }
|
inline void unref() const { --_refCount; if (_refCount<=0) delete this; }
|
||||||
/** return the number pointers currently referencing this object. */
|
/** return the number pointers currently referencing this object. */
|
||||||
int referenceCount() { return _refCount; }
|
inline const int referenceCount() const { return _refCount; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual ~Referenced() {};
|
virtual ~Referenced() {}
|
||||||
int _refCount;
|
mutable int _refCount;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -2,19 +2,181 @@
|
|||||||
#define OSG_STATE 1
|
#define OSG_STATE 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/Export>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
#include <osg/Matrix>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class SG_EXPORT State
|
/** macro for use with osg::StateAttrbiute::apply methods for detected and
|
||||||
|
* reporting OpenGL error messages.*/
|
||||||
|
#define OSG_GL_DEBUG(message) \
|
||||||
|
if (state.getFineGrainedErrorDetection()) \
|
||||||
|
{ \
|
||||||
|
GLenum errorNo = glGetError(); \
|
||||||
|
if (errorNo!=GL_NO_ERROR) \
|
||||||
|
{ \
|
||||||
|
osg::notify(WARN)<<"Warning: detected OpenGL error '"<<gluErrorString(errorNo)<<" "<<message<<endl; \
|
||||||
|
}\
|
||||||
|
}
|
||||||
|
|
||||||
|
/** State class for managing a state stack.
|
||||||
|
* Lazy state updating is used to minize state changes.
|
||||||
|
*/
|
||||||
|
class SG_EXPORT State : public Referenced
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
State( void );
|
|
||||||
~State( void );
|
|
||||||
|
|
||||||
private :
|
State();
|
||||||
GeoState *initial;
|
|
||||||
GeoState *req;
|
virtual ~State();
|
||||||
GeoState *current;
|
|
||||||
|
/** push stateset onto state stack.*/
|
||||||
|
void pushStateSet(const StateSet* dstate);
|
||||||
|
|
||||||
|
/** pop drawstate off state stack.*/
|
||||||
|
void popStateSet();
|
||||||
|
|
||||||
|
/** reset the state object to an empty stack.*/
|
||||||
|
void reset();
|
||||||
|
|
||||||
|
|
||||||
|
/** apply an OpenGL mode if required. */
|
||||||
|
inline const bool apply_mode(const StateAttribute::GLMode mode,const bool enabled)
|
||||||
|
{
|
||||||
|
return apply_mode(mode,enabled,_modeMap[mode]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** apply an attribute if required. */
|
||||||
|
inline const bool apply_attribute(const StateAttribute* attribute)
|
||||||
|
{
|
||||||
|
return apply_attribute(attribute,_attributeMap[attribute->getType()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** apply stateset.*/
|
||||||
|
void apply(const StateSet* dstate);
|
||||||
|
|
||||||
|
/** apply the state.*/
|
||||||
|
void apply();
|
||||||
|
|
||||||
|
/** mode has been set externally, update state to reflect this setting.*/
|
||||||
|
void have_applied(const StateAttribute::GLMode mode,const StateAttribute::GLModeValue value);
|
||||||
|
|
||||||
|
/** attribute has been applied externally, update state to reflect this setting.*/
|
||||||
|
void have_applied(const StateAttribute* attribute);
|
||||||
|
|
||||||
|
|
||||||
|
/** Set the current OpenGL context uniqueID.
|
||||||
|
Note, it is the application developers responsiblity to
|
||||||
|
set up unique ID for each OpenGL context. This value is
|
||||||
|
then used by osg::StateAttribure's and osg::Drawable's to
|
||||||
|
help manage OpenGL display list and texture binds appropriate
|
||||||
|
for each context.*/
|
||||||
|
inline void setContextID(unsigned int contextID) { _contextID=contextID; }
|
||||||
|
|
||||||
|
/** Get the current OpenGL context unique ID.*/
|
||||||
|
inline const unsigned int getContextID() const { return _contextID; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** Set the frame number.*/
|
||||||
|
inline void setFrameNumber(unsigned int fn) { _frameNumber = fn; }
|
||||||
|
|
||||||
|
/** Get the frame number.*/
|
||||||
|
inline unsigned int getFrameNumber() const { return _frameNumber; }
|
||||||
|
|
||||||
|
/** Increment the frame number. Done once per frame.*/
|
||||||
|
inline void incrementFrameNumber() { ++_frameNumber; }
|
||||||
|
|
||||||
|
|
||||||
|
/** Set the hint to OpenGL routines to do fine grained OpenGL error checking.*/
|
||||||
|
void setFineGrainedErrorDetection(const bool flag) { _fineGrainedErrorDetection = flag; }
|
||||||
|
|
||||||
|
/** Get the hint to OpenGL routines to do fine grained OpenGL error checking.*/
|
||||||
|
const bool getFineGrainedErrorDetection() const { return _fineGrainedErrorDetection; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
unsigned int _contextID;
|
||||||
|
unsigned int _frameNumber;
|
||||||
|
|
||||||
|
typedef std::vector<StateAttribute::GLModeValue> ValueVec;
|
||||||
|
|
||||||
|
struct ModeStack
|
||||||
|
{
|
||||||
|
ModeStack()
|
||||||
|
{
|
||||||
|
changed = false;
|
||||||
|
last_applied_value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool changed;
|
||||||
|
bool last_applied_value;
|
||||||
|
ValueVec valueVec;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
typedef std::pair<const StateAttribute*,StateAttribute::OverrideValue> AttributePair;
|
||||||
|
typedef std::vector<AttributePair> AttributeVec;
|
||||||
|
|
||||||
|
struct AttributeStack
|
||||||
|
{
|
||||||
|
AttributeStack()
|
||||||
|
{
|
||||||
|
changed = false;
|
||||||
|
last_applied_attribute = 0L;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool changed;
|
||||||
|
const StateAttribute* last_applied_attribute;
|
||||||
|
AttributeVec attributeVec;
|
||||||
|
};
|
||||||
|
|
||||||
|
/** apply an OpenGL mode if required, passing in mode, enable flag and appropriate mode stack */
|
||||||
|
inline const bool apply_mode(const StateAttribute::GLMode mode,const bool enabled,ModeStack& ms)
|
||||||
|
{
|
||||||
|
if (ms.last_applied_value != enabled)
|
||||||
|
{
|
||||||
|
ms.last_applied_value = enabled;
|
||||||
|
|
||||||
|
if (enabled) glEnable(mode);
|
||||||
|
else glDisable(mode);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** apply an attribute if required, passing in attribute and appropriate attribute stack */
|
||||||
|
inline const bool apply_attribute(const StateAttribute* attribute,AttributeStack& as)
|
||||||
|
{
|
||||||
|
if (as.last_applied_attribute != attribute)
|
||||||
|
{
|
||||||
|
as.last_applied_attribute = attribute;
|
||||||
|
attribute->apply(*this);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef std::map<StateAttribute::GLMode,ModeStack> ModeMap;
|
||||||
|
typedef std::map<StateAttribute::Type,AttributeStack> AttributeMap;
|
||||||
|
typedef std::vector<ref_ptr<const StateSet> > StateSetStack;
|
||||||
|
typedef std::vector<ref_ptr<const Matrix> > MatrixStack;
|
||||||
|
|
||||||
|
ModeMap _modeMap;
|
||||||
|
AttributeMap _attributeMap;
|
||||||
|
StateSetStack _drawStateStack;
|
||||||
|
|
||||||
|
bool _fineGrainedErrorDetection;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
/** Switch - Group node which allows switching between children.
|
/** Switch is a Group node which allows switching between children.
|
||||||
Typical uses would be for objects which might need to be rendered
|
Typical uses would be for objects which might need to be rendered
|
||||||
differently at different times, for instance a switch could be used
|
differently at different times, for instance a switch could be used
|
||||||
to represent the different states of a traffic light.
|
to represent the different states of a traffic light.
|
||||||
@ -14,29 +14,43 @@ class SG_EXPORT Switch : public Group
|
|||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special mode values for the Switch. Use these if you want to
|
||||||
|
* turn on/off all child nodes.
|
||||||
|
*/
|
||||||
enum SwitchType {
|
enum SwitchType {
|
||||||
ALL_CHILDREN_ON=-1,
|
/** Turn on all children. */
|
||||||
ALL_CHILDREN_OFF=-2
|
ALL_CHILDREN_ON=-1,
|
||||||
|
/** Turn off all children. */
|
||||||
|
ALL_CHILDREN_OFF=-2
|
||||||
};
|
};
|
||||||
|
|
||||||
Switch();
|
Switch();
|
||||||
|
|
||||||
virtual Object* clone() const { return new Switch(); }
|
virtual Object* clone() const { return new Switch(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Switch*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Switch*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "Switch"; }
|
virtual const char* className() const { return "Switch"; }
|
||||||
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
|
||||||
virtual void traverse(NodeVisitor& nv);
|
virtual void traverse(NodeVisitor& nv);
|
||||||
|
|
||||||
void setVal(int val) { _value = val; }
|
/**
|
||||||
int getVal() const { return _value; }
|
* Selects the active child Node or enables a special
|
||||||
|
* SwitchType mode.
|
||||||
|
* @param value the number of the active child
|
||||||
|
* (first child == number 0) or SwitchType. Invalid values
|
||||||
|
* will be ignored.
|
||||||
|
*/
|
||||||
|
inline void setValue(const int value) { _value = value; }
|
||||||
|
/**
|
||||||
|
* Returns the number of the active child Node or the SwitchType.
|
||||||
|
*/
|
||||||
|
inline const int getValue() const { return _value; }
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~Switch() {}
|
virtual ~Switch() {}
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
/** The current Switch value. */
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
int _value;
|
int _value;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,43 +1,41 @@
|
|||||||
#ifndef OSG_TEXENV
|
#ifndef OSG_TEXENV
|
||||||
#define OSG_TEXENV 1
|
#define OSG_TEXENV 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <osg/GL>
|
#include <osg/GL>
|
||||||
#include <osg/Object>
|
#include <osg/StateAttribute>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
/** TexEnv - encapsulates the OpenGL glTexEnv (texture environment) state.*/
|
||||||
class SG_EXPORT TexEnv : public Object
|
class SG_EXPORT TexEnv : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
enum TexEnvMode {
|
|
||||||
DECAL = GL_DECAL,
|
|
||||||
MODULATE = GL_MODULATE,
|
|
||||||
BLEND = GL_BLEND
|
|
||||||
};
|
|
||||||
|
|
||||||
TexEnv( void );
|
TexEnv( void );
|
||||||
static TexEnv* instance();
|
|
||||||
virtual Object* clone() const { return new TexEnv(); }
|
virtual Object* clone() const { return new TexEnv(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<TexEnv*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const TexEnv*>(obj)!=0L; }
|
||||||
virtual const char* className() const { return "TexEnv"; }
|
virtual const char* className() const { return "TexEnv"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return TEXENV; }
|
||||||
|
|
||||||
void setMode( TexEnvMode mode );
|
enum Mode {
|
||||||
void apply( void );
|
DECAL = GL_DECAL,
|
||||||
|
MODULATE = GL_MODULATE,
|
||||||
|
BLEND = GL_BLEND,
|
||||||
|
REPLACE = GL_REPLACE
|
||||||
|
};
|
||||||
|
|
||||||
|
void setMode( const Mode mode );
|
||||||
|
|
||||||
|
const Mode getMode() const { return _mode; }
|
||||||
|
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~TexEnv( void );
|
virtual ~TexEnv( void );
|
||||||
virtual bool readLocalData(Input& fr);
|
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
bool matchModeStr(const char* str,TexEnvMode& mode);
|
Mode _mode;
|
||||||
const char* getModeStr(TexEnvMode mode);
|
|
||||||
|
|
||||||
TexEnvMode _mode;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -1,51 +1,72 @@
|
|||||||
#ifndef OSG_TEXGEN
|
#ifndef OSG_TEXGEN
|
||||||
#define OSG_TEXGEN 1
|
#define OSG_TEXGEN 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/Vec4>
|
||||||
#include <osg/GL>
|
#include <osg/StateAttribute>
|
||||||
#include <osg/OSG>
|
#include <osg/StateSet>
|
||||||
#include <osg/Object>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
/** TexGen - encapsulates the OpenGL glTexGen (texture coordinate generation) state.*/
|
||||||
class Input;
|
class SG_EXPORT TexGen : public StateAttribute
|
||||||
class Output;
|
|
||||||
|
|
||||||
class SG_EXPORT TexGen : public Object
|
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
enum TexGenMode {
|
TexGen( void );
|
||||||
|
virtual Object* clone() const { return new TexGen(); }
|
||||||
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const TexGen*>(obj)!=NULL; }
|
||||||
|
virtual const char* className() const { return "TexGen"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return TEXGEN; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_TEXTURE_GEN_S,value);
|
||||||
|
ds.setMode(GL_TEXTURE_GEN_T,value);
|
||||||
|
|
||||||
|
// Not happy with turning all tex gen paramters on
|
||||||
|
// as the OSG currently only supports 2D textures and therefore
|
||||||
|
// only S and T will only be required, R&Q would be redundent...
|
||||||
|
// So commenting out the following until OSG supports 3D texures.
|
||||||
|
// I plan to revamp the OpenGL state management later so will
|
||||||
|
// tidy up then. Robert Osfield. Jan 2001.
|
||||||
|
|
||||||
|
// The tidy up is now happening, but wiil have a think before
|
||||||
|
// resolving the below parameters.
|
||||||
|
|
||||||
|
// ds.setMode(GL_TEXTURE_GEN_R,value);
|
||||||
|
// ds.setMode(GL_TEXTURE_GEN_Q,value);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
|
enum Mode {
|
||||||
OBJECT_LINEAR = GL_OBJECT_LINEAR,
|
OBJECT_LINEAR = GL_OBJECT_LINEAR,
|
||||||
EYE_LINEAR = GL_EYE_LINEAR,
|
EYE_LINEAR = GL_EYE_LINEAR,
|
||||||
SPHERE_MAP = GL_SPHERE_MAP
|
SPHERE_MAP = GL_SPHERE_MAP
|
||||||
};
|
};
|
||||||
|
|
||||||
TexGen( void );
|
inline void setMode( const Mode mode ) { _mode = mode; }
|
||||||
static TexGen* instance();
|
|
||||||
virtual Object* clone() const { return new TexGen(); }
|
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<TexGen*>(obj)!=NULL; }
|
|
||||||
virtual const char* className() const { return "TexGen"; }
|
|
||||||
|
|
||||||
static void enable( void );
|
const Mode getMode() const { return _mode; }
|
||||||
static void disable( void );
|
|
||||||
|
|
||||||
void apply( void );
|
enum Coord {
|
||||||
|
S, T, R, Q
|
||||||
|
};
|
||||||
|
|
||||||
void setMode( TexGenMode mode ) { _mode = mode; }
|
void setPlane(const Coord which, const Vec4& plane);
|
||||||
|
|
||||||
|
const Vec4& getPlane(const Coord which) const;
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~TexGen( void );
|
virtual ~TexGen( void );
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
Mode _mode;
|
||||||
virtual bool writeLocalData(Output& fw);
|
|
||||||
|
|
||||||
bool matchModeStr(const char* str,TexGenMode& mode);
|
/// additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,
|
||||||
const char* getModeStr(TexGenMode mode);
|
Vec4 _plane_s, _plane_t, _plane_r, _plane_q;
|
||||||
|
|
||||||
TexGenMode _mode;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,26 +1,40 @@
|
|||||||
#ifndef OSG_TEXMAT
|
#ifndef OSG_TEXMAT
|
||||||
#define OSG_TEXMAT 1
|
#define OSG_TEXMAT 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/StateAttribute>
|
||||||
#include <osg/Matrix>
|
#include <osg/Matrix>
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
class SG_EXPORT TexMat : public Matrix
|
/** Texture Matrix state class for encapsulating OpenGL texture matrix functionality.*/
|
||||||
|
class SG_EXPORT TexMat : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
TexMat( void );
|
TexMat( void );
|
||||||
static TexMat* instance();
|
|
||||||
virtual Object* clone() const { return new TexMat(); }
|
virtual Object* clone() const { return new TexMat(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<TexMat*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const TexMat*>(obj)!=NULL; }
|
||||||
virtual const char* className() const { return "TexMat"; }
|
virtual const char* className() const { return "TexMat"; }
|
||||||
|
|
||||||
void apply( void );
|
virtual const Type getType() const { return TEXMAT; }
|
||||||
|
|
||||||
|
/** Set the texture matrix */
|
||||||
|
inline void setMatrix(const Matrix& matrix) { _matrix = matrix; }
|
||||||
|
|
||||||
|
/** Get the texture matrix */
|
||||||
|
inline Matrix& getMatrix() { return _matrix; }
|
||||||
|
|
||||||
|
/** Get the const texture matrix */
|
||||||
|
inline const Matrix& getMatrix() const { return _matrix; }
|
||||||
|
|
||||||
|
/** apply as OpenGL texture matrix.*/
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~TexMat( void );
|
virtual ~TexMat( void );
|
||||||
|
|
||||||
|
Matrix _matrix;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -1,33 +1,110 @@
|
|||||||
|
// -*-c++-*-
|
||||||
|
|
||||||
#ifndef OSG_TEXTURE
|
#ifndef OSG_TEXTURE
|
||||||
#define OSG_TEXTURE 1
|
#define OSG_TEXTURE 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <osg/GL>
|
#include <osg/GL>
|
||||||
#include <osg/OSG>
|
#include <osg/Types>
|
||||||
#include <osg/Image>
|
#include <osg/Image>
|
||||||
|
#include <osg/StateAttribute>
|
||||||
|
#include <osg/StateSet>
|
||||||
|
#include <osg/ref_ptr>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
|
// if not defined by gl.h use the definition found in:
|
||||||
|
// http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_filter_anisotropic.txt
|
||||||
|
#ifndef GL_TEXTURE_MAX_ANISOTROPY_EXT
|
||||||
|
#define GL_TEXTURE_MAX_ANISOTROPY_EXT (GLenum)0x84fe
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_ARB_texture_compression
|
||||||
|
#define GL_COMPRESSED_ALPHA_ARB 0x84E9
|
||||||
|
#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
|
||||||
|
#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
|
||||||
|
#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
|
||||||
|
#define GL_COMPRESSED_RGB_ARB 0x84ED
|
||||||
|
#define GL_COMPRESSED_RGBA_ARB 0x84EE
|
||||||
|
#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
|
||||||
|
#define GL_TEXTURE_IMAGE_SIZE_ARB 0x86A0
|
||||||
|
#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
|
||||||
|
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
|
||||||
|
#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_EXT_texture_compression_s3tc
|
||||||
|
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
|
||||||
|
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
|
||||||
|
#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
|
||||||
|
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_MIRRORED_REPEAT_IBM
|
||||||
|
#define GL_MIRRORED_REPEAT_IBM 0x8370
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_GENERATE_MIPMAP_SGIS
|
||||||
|
#define GL_GENERATE_MIPMAP_SGIS (GLenum)0x8191
|
||||||
|
#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
|
||||||
class Input;
|
|
||||||
class Output;
|
|
||||||
|
|
||||||
/** Texture state class which encapsulates OpenGl texture functionality.*/
|
/** Texture state class which encapsulates OpenGl texture functionality.*/
|
||||||
class SG_EXPORT Texture : public Object
|
class SG_EXPORT Texture : public StateAttribute
|
||||||
{
|
{
|
||||||
|
|
||||||
public :
|
public :
|
||||||
|
|
||||||
Texture();
|
Texture();
|
||||||
static Texture* instance();
|
|
||||||
virtual Object* clone() const { return new Texture(); }
|
virtual Object* clone() const { return new Texture(); }
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Texture*>(obj)!=NULL; }
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Texture*>(obj)!=0L; }
|
||||||
virtual const char* className() const { return "Texture"; }
|
virtual const char* className() const { return "Texture"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return (Type)(TEXTURE_0+_textureUnit); }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_TEXTURE_2D,value);
|
||||||
|
}
|
||||||
|
|
||||||
/** Set the texture image. */
|
/** Set the texture image. */
|
||||||
void setImage(Image* image);
|
void setImage(Image* image);
|
||||||
|
|
||||||
/** Get the texture image. */
|
/** Get the texture image. */
|
||||||
Image* getImage() const { return _image.get(); }
|
Image* getImage() { return _image.get(); }
|
||||||
|
|
||||||
|
/** Get the const texture image. */
|
||||||
|
inline const Image* getImage() const { return _image.get(); }
|
||||||
|
|
||||||
|
/** Copy pixels into a 2D texture image.As per glCopyTexImage2D.
|
||||||
|
* Creates an OpenGL texture object from the current OpenGL background
|
||||||
|
* framebuffer contents at pos \a x, \a y with width \a width and
|
||||||
|
* height \a height. \a width and \a height must be a power of two.
|
||||||
|
*/
|
||||||
|
void copyTexImage2D(State& state, int x, int y, int width, int height );
|
||||||
|
|
||||||
|
/** Copy a two-dimensional texture subimage. As per glCopyTexSubImage2D.
|
||||||
|
* Updates portion of an exisiting OpenGL texture object from the current OpenGL background
|
||||||
|
* framebuffer contents at pos \a x, \a y with width \a width and
|
||||||
|
* height \a height. \a width and \a height must be a power of two,
|
||||||
|
* and writing into the texture with offset \a xoffset and \a yoffset.
|
||||||
|
*/
|
||||||
|
void copyTexSubImage2D(State& state, int xoffset, int yoffset, int x, int y, int width, int height );
|
||||||
|
|
||||||
|
/** Set the texture unit.
|
||||||
|
* Valid values are 0,1,2,3.
|
||||||
|
* Default value of texture unit is 0.
|
||||||
|
* note, multi-texturing not fully implemented yet... April 2001.
|
||||||
|
*/
|
||||||
|
inline void setTextureUnit(const unsigned int textureUnit) { _textureUnit = textureUnit; }
|
||||||
|
|
||||||
|
/** get the texture unit.*/
|
||||||
|
inline const unsigned int getTextureUnit() const { return _textureUnit; }
|
||||||
|
|
||||||
|
|
||||||
enum WrapParameter {
|
enum WrapParameter {
|
||||||
WRAP_S,
|
WRAP_S,
|
||||||
@ -36,14 +113,15 @@ class SG_EXPORT Texture : public Object
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum WrapMode {
|
enum WrapMode {
|
||||||
CLAMP = GL_CLAMP,
|
CLAMP = GL_CLAMP,
|
||||||
REPEAT = GL_REPEAT
|
REPEAT = GL_REPEAT,
|
||||||
|
MIRROR = GL_MIRRORED_REPEAT_IBM
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Set the texture wrap mode.*/
|
/** Set the texture wrap mode.*/
|
||||||
void setWrap(WrapParameter which, WrapMode wrap);
|
void setWrap(const WrapParameter which, const WrapMode wrap);
|
||||||
/** Get the texture wrap mode.*/
|
/** Get the texture wrap mode.*/
|
||||||
WrapMode getWrap(WrapParameter which) const;
|
const WrapMode getWrap(const WrapParameter which) const;
|
||||||
|
|
||||||
|
|
||||||
enum FilterParameter {
|
enum FilterParameter {
|
||||||
@ -57,46 +135,161 @@ class SG_EXPORT Texture : public Object
|
|||||||
LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST,
|
LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST,
|
||||||
NEAREST = GL_NEAREST,
|
NEAREST = GL_NEAREST,
|
||||||
NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR,
|
NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR,
|
||||||
NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST
|
NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST,
|
||||||
|
ANISOTROPIC = GL_TEXTURE_MAX_ANISOTROPY_EXT
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Set the texture filter mode.*/
|
/** Set the texture filter mode.*/
|
||||||
void setFilter(FilterParameter which, FilterMode filter);
|
void setFilter(const FilterParameter which, const FilterMode filter);
|
||||||
/** Get the texture filter mode.*/
|
/** Get the texture filter mode.*/
|
||||||
FilterMode getFilter(FilterParameter which) const;
|
const FilterMode getFilter(const FilterParameter which) const;
|
||||||
|
|
||||||
|
|
||||||
/** Enable OpenGL texturing.*/
|
enum InternalFormatMode {
|
||||||
static void enable( void );
|
USE_IMAGE_DATA_FORMAT,
|
||||||
/** Disable OpenGL texturing.*/
|
USE_USER_DEFINED_FORMAT,
|
||||||
static void disable( void );
|
USE_ARB_COMPRESSION,
|
||||||
|
USE_S3TC_DXT1_COMPRESSION,
|
||||||
|
USE_S3TC_DXT3_COMPRESSION,
|
||||||
|
USE_S3TC_DXT5_COMPRESSION
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Set the internal format mode.
|
||||||
|
* Note, If the mode is set USE_IMAGE_DATA_FORMAT, USE_ARB_COMPRESSION,
|
||||||
|
* USE_S3TC_COMPRESSION the internalFormat is automatically selected,
|
||||||
|
* and will overwrite the previous _internalFormatValue.
|
||||||
|
*/
|
||||||
|
inline void setInternalFormatMode(const InternalFormatMode mode) { _internalFormatMode = mode; }
|
||||||
|
|
||||||
|
/** Get the internal format mode.*/
|
||||||
|
inline const InternalFormatMode getInternalFormatMode() const { return _internalFormatMode; }
|
||||||
|
|
||||||
|
/** Set the internal format to use when creating OpenGL textures.
|
||||||
|
* Also sets the internalFormatMode to USE_USER_DEFINED_FORMAT.
|
||||||
|
*/
|
||||||
|
inline void setInternalFormatValue(const int internalFormat)
|
||||||
|
{
|
||||||
|
_internalFormatMode = USE_USER_DEFINED_FORMAT;
|
||||||
|
_internalFormatValue = internalFormat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the internal format to use when creating OpenGL textures.*/
|
||||||
|
inline const int getInternalFormatValue() const { return _internalFormatValue; }
|
||||||
|
|
||||||
|
/** return the OpenGL texture object for specified context.*/
|
||||||
|
inline const uint getTextureObject(const uint contextID) const { if (contextID<_handleList.size()) return _handleList[contextID]; else return 0;}
|
||||||
|
|
||||||
|
/** return the memory size of texture object.
|
||||||
|
* Texture object size can be used for estimating the cost of
|
||||||
|
* uploading the texture to graphics hardware, which inturn can
|
||||||
|
* be used for setting texture residence priorities. */
|
||||||
|
inline const uint getTextureObjectSize() const { return _textureObjectSize; }
|
||||||
|
|
||||||
|
enum SubloadMode {
|
||||||
|
OFF,
|
||||||
|
AUTO,
|
||||||
|
IF_DIRTY
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Set the texture subload mode. */
|
||||||
|
inline void setSubloadMode(const SubloadMode mode) { _subloadMode = mode; }
|
||||||
|
|
||||||
|
/** Get the texture subload mode. */
|
||||||
|
inline const SubloadMode getSubloadMode() const { return _subloadMode; }
|
||||||
|
|
||||||
|
/** Set the texture subload offsets. */
|
||||||
|
inline void setSubloadOffset(const int x, const int y) {
|
||||||
|
_subloadOffsX = x;
|
||||||
|
_subloadOffsY = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the texture subload offsets. */
|
||||||
|
inline void getSubloadOffset(int& x, int& y) const {
|
||||||
|
x = _subloadOffsX;
|
||||||
|
y = _subloadOffsY;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the handle to the texture object for the current context.*/
|
||||||
|
inline uint& getHandle(const uint contextID) const
|
||||||
|
{
|
||||||
|
// pad out handle list if required.
|
||||||
|
while (_handleList.size()<=contextID)
|
||||||
|
_handleList.push_back(0);
|
||||||
|
|
||||||
|
// get the globj for the current contextID.
|
||||||
|
return _handleList[contextID];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Force a recompile on next apply() of associated OpenGL texture objects.*/
|
||||||
|
void dirtyTextureObject();
|
||||||
|
|
||||||
|
/** On first apply (unless already compiled), create the minmapped
|
||||||
|
* texture and bind it, subsequent apply will simple bind to texture.*/
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
|
/** Compile the texture mip maps. Implemented by simply calling apply().*/
|
||||||
|
virtual void compile(State& state) const;
|
||||||
|
|
||||||
|
|
||||||
|
/** Method which does the creation of the texture itself, and
|
||||||
|
* does not set or use texture binding. */
|
||||||
|
virtual void applyImmediateMode(State& state) const;
|
||||||
|
|
||||||
|
|
||||||
|
/** use deleteTextureObject instead of glDeleteTextures to allow
|
||||||
|
* OpenGL texture objects to cached until they can be deleted
|
||||||
|
* by the OpenGL context in which they were created, specified
|
||||||
|
* by contextID.*/
|
||||||
|
static void deleteTextureObject(uint contextID,uint handle);
|
||||||
|
|
||||||
|
/** flush all the cached display list which need to be deleted
|
||||||
|
* in the OpenGL context related to contextID.*/
|
||||||
|
static void flushDeletedTextureObjects(uint contextID);
|
||||||
|
|
||||||
/** On first apply, create the minmapped texture and bind it,
|
|
||||||
subsequent apply will simple bind to texture.*/
|
|
||||||
void apply( void );
|
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
virtual ~Texture();
|
virtual ~Texture();
|
||||||
|
|
||||||
virtual bool readLocalData(Input& fr);
|
typedef std::vector<uint> TextureNameList;
|
||||||
virtual bool writeLocalData(Output& fw);
|
mutable TextureNameList _handleList;
|
||||||
|
|
||||||
uint _handle;
|
typedef std::vector<uint> ImageModifiedTag;
|
||||||
|
mutable ImageModifiedTag _modifiedTag;
|
||||||
|
|
||||||
ref_ptr<Image> _image;
|
// size of the created OpenGL texture object, may be estimated.
|
||||||
|
mutable uint _textureObjectSize;
|
||||||
|
|
||||||
bool matchWrapStr(const char* str,WrapMode& wrap);
|
// not ideal that _image is mutable, but its required since
|
||||||
const char* getWrapStr(WrapMode wrap);
|
// Image::ensureDimensionsArePowerOfTwo() can only be called
|
||||||
|
// in a valid OpenGL context, a therefore within an Texture::apply
|
||||||
|
// which is const...
|
||||||
|
mutable ref_ptr<Image> _image;
|
||||||
|
|
||||||
bool matchFilterStr(const char* str,FilterMode& filter);
|
unsigned int _textureUnit;
|
||||||
const char* getFilterStr(FilterMode filter);
|
|
||||||
|
|
||||||
WrapMode _wrap_s;
|
WrapMode _wrap_s;
|
||||||
WrapMode _wrap_t;
|
WrapMode _wrap_t;
|
||||||
WrapMode _wrap_r;
|
WrapMode _wrap_r;
|
||||||
|
|
||||||
FilterMode _min_filter;
|
FilterMode _min_filter;
|
||||||
FilterMode _mag_filter;
|
FilterMode _mag_filter;
|
||||||
|
|
||||||
|
InternalFormatMode _internalFormatMode;
|
||||||
|
int _internalFormatValue;
|
||||||
|
|
||||||
|
// subloaded images can have different texture and image sizes.
|
||||||
|
mutable unsigned int _textureWidth, _textureHeight;
|
||||||
|
|
||||||
|
SubloadMode _subloadMode;
|
||||||
|
unsigned int _subloadOffsX, _subloadOffsY;
|
||||||
|
|
||||||
|
// static cache of deleted display lists which can only
|
||||||
|
// by completely deleted once the appropriate OpenGL context
|
||||||
|
// is set.
|
||||||
|
typedef std::map<uint,std::set<uint> > DeletedTextureObjectCache;
|
||||||
|
static DeletedTextureObjectCache s_deletedTextureObjectCache;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -3,14 +3,22 @@
|
|||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/Export>
|
||||||
|
|
||||||
|
#ifdef macintosh
|
||||||
|
//#define __TIMESIZE_DOUBLE__
|
||||||
|
#include <ctime>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
typedef __int64 Timer_t;
|
typedef __int64 Timer_t;
|
||||||
|
#elif defined macintosh
|
||||||
|
typedef double Timer_t;
|
||||||
#else
|
#else
|
||||||
typedef unsigned long long Timer_t;
|
typedef unsigned long long Timer_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** A high resolution, low latency time stamper.*/
|
||||||
class SG_EXPORT Timer {
|
class SG_EXPORT Timer {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -23,8 +31,8 @@ class SG_EXPORT Timer {
|
|||||||
#pragma optimize("",off)
|
#pragma optimize("",off)
|
||||||
inline Timer_t tick( void )
|
inline Timer_t tick( void )
|
||||||
{
|
{
|
||||||
volatile Timer_t ts;
|
volatile Timer_t ts;
|
||||||
volatile unsigned int HighPart;
|
volatile unsigned int HighPart;
|
||||||
volatile unsigned int LowPart;
|
volatile unsigned int LowPart;
|
||||||
_asm
|
_asm
|
||||||
{
|
{
|
||||||
@ -32,23 +40,29 @@ class SG_EXPORT Timer {
|
|||||||
xor edx, edx // not supported or minimal overhead
|
xor edx, edx // not supported or minimal overhead
|
||||||
_emit 0x0f // desired
|
_emit 0x0f // desired
|
||||||
_emit 0x31 //
|
_emit 0x31 //
|
||||||
mov HighPart,edx
|
mov HighPart,edx
|
||||||
mov LowPart,eax
|
mov LowPart,eax
|
||||||
}
|
}
|
||||||
//ts = LowPart | HighPart >> 32;
|
//ts = LowPart | HighPart >> 32;
|
||||||
*((unsigned int*)&ts) = LowPart;
|
*((unsigned int*)&ts) = LowPart;
|
||||||
*((unsigned int*)&ts+1) = HighPart;
|
*((unsigned int*)&ts+1) = HighPart;
|
||||||
return ts;
|
return ts;
|
||||||
}
|
}
|
||||||
#pragma optimize("",on)
|
#pragma optimize("",on)
|
||||||
#endif
|
#endif
|
||||||
#ifdef __linux
|
#if defined(__linux) || defined(__FreeBSD__)
|
||||||
#define CLK(x) __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x))
|
#define CLK(x) __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x))
|
||||||
inline Timer_t tick( void ) {Timer_t x;CLK(x);return x;}
|
inline Timer_t tick( void ) {Timer_t x;CLK(x);return x;}
|
||||||
#endif
|
#endif
|
||||||
#ifdef __sgi
|
#ifdef __sgi
|
||||||
inline Timer_t tick( void ) { return *clk; }
|
inline Timer_t tick( void ) { return *clk; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef macintosh
|
||||||
|
// because __TIMESIZE_DOUBLE__ is defined
|
||||||
|
// clock resolution is now: 100000 CLOCKS_PER_SEC instead of 60
|
||||||
|
inline Timer_t tick( void ) { return std::clock(); }
|
||||||
|
#endif
|
||||||
double delta_s( Timer_t t1, Timer_t t2 );
|
double delta_s( Timer_t t1, Timer_t t2 );
|
||||||
double delta_m( Timer_t t1, Timer_t t2 );
|
double delta_m( Timer_t t1, Timer_t t2 );
|
||||||
|
|
||||||
|
@ -1,17 +1,28 @@
|
|||||||
#ifndef OSG_TRANSPARENCY
|
#ifndef OSG_TRANSPARENCY
|
||||||
#define OSG_TRANSPARENCY 1
|
#define OSG_TRANSPARENCY 1
|
||||||
|
|
||||||
#include <osg/Export>
|
#include <osg/StateAttribute>
|
||||||
#include <osg/Object>
|
#include <osg/StateSet>
|
||||||
#include <osg/GL>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
|
/** Transparancy - encapsulates the OpenGL transparancy state.*/
|
||||||
class SG_EXPORT Transparency : public Object
|
class SG_EXPORT Transparency : public StateAttribute
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
|
Transparency();
|
||||||
|
virtual Object* clone() const { return new Transparency(); }
|
||||||
|
virtual bool isSameKindAs(const Object* obj) const { return dynamic_cast<const Transparency*>(obj)!=0L; }
|
||||||
|
virtual const char* className() const { return "Transparency"; }
|
||||||
|
|
||||||
|
virtual const Type getType() const { return TRANSPARENCY; }
|
||||||
|
|
||||||
|
virtual void setStateSetModes(StateSet& ds,const GLModeValue value) const
|
||||||
|
{
|
||||||
|
ds.setMode(GL_BLEND,value);
|
||||||
|
}
|
||||||
|
|
||||||
enum TransparencyMode {
|
enum TransparencyMode {
|
||||||
DST_ALPHA = GL_DST_ALPHA,
|
DST_ALPHA = GL_DST_ALPHA,
|
||||||
DST_COLOR = GL_DST_COLOR,
|
DST_COLOR = GL_DST_COLOR,
|
||||||
@ -26,16 +37,19 @@ class SG_EXPORT Transparency : public Object
|
|||||||
ZERO = GL_ZERO
|
ZERO = GL_ZERO
|
||||||
};
|
};
|
||||||
|
|
||||||
Transparency();
|
inline void setFunction( const int source, const int destination )
|
||||||
static Transparency * instance();
|
{
|
||||||
virtual Object* clone() const { return new Transparency(); }
|
_source_factor = source;
|
||||||
virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Transparency*>(obj)!=NULL; }
|
_destination_factor = destination;
|
||||||
virtual const char* className() const { return "Transparency"; }
|
}
|
||||||
|
|
||||||
void setFunction( int source, int destination );
|
void setSource(const int source) { _source_factor = source; }
|
||||||
static void enable( void );
|
inline const int getSource() const { return _source_factor; }
|
||||||
static void disable( void );
|
|
||||||
void apply( void );
|
void setDestination(const int destination) { _destination_factor = destination; }
|
||||||
|
inline const int getDestination() const { return _destination_factor; }
|
||||||
|
|
||||||
|
virtual void apply(State& state) const;
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
#ifndef OSG_TYPES
|
#ifndef OSG_TYPES
|
||||||
#define OSG_TYPES 1
|
#define OSG_TYPES 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <osg/Vec3>
|
|
||||||
|
|
||||||
namespace osg {
|
namespace osg {
|
||||||
|
|
||||||
typedef unsigned int uint;
|
typedef unsigned int uint;
|
||||||
@ -11,7 +8,7 @@ typedef unsigned short ushort;
|
|||||||
typedef unsigned char uchar;
|
typedef unsigned char uchar;
|
||||||
typedef uchar ubyte;
|
typedef uchar ubyte;
|
||||||
|
|
||||||
#ifdef WIN32
|
#if defined(WIN32) || defined (macintosh)
|
||||||
#define M_E 2.7182818284590452354
|
#define M_E 2.7182818284590452354
|
||||||
#define M_LOG2E 1.4426950408889634074
|
#define M_LOG2E 1.4426950408889634074
|
||||||
#define M_LOG10E 0.43429448190325182765
|
#define M_LOG10E 0.43429448190325182765
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#ifndef OSG_VEC2
|
#ifndef OSG_VEC2
|
||||||
#define OSG_VEC2 1
|
#define OSG_VEC2 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef OSG_USE_IO_DOT_H
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
@ -29,7 +28,14 @@ class Vec2
|
|||||||
|
|
||||||
float _v[2];
|
float _v[2];
|
||||||
|
|
||||||
bool operator == (const Vec2& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1]; }
|
const bool operator == (const Vec2& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1]; }
|
||||||
|
|
||||||
|
const bool operator < (const Vec2& v) const
|
||||||
|
{
|
||||||
|
if (_v[0]<v._v[0]) return true;
|
||||||
|
else if (_v[0]>v._v[0]) return false;
|
||||||
|
else return (_v[1]<v._v[1]);
|
||||||
|
}
|
||||||
|
|
||||||
inline float* ptr() { return _v; }
|
inline float* ptr() { return _v; }
|
||||||
inline const float* ptr() const { return _v; }
|
inline const float* ptr() const { return _v; }
|
||||||
@ -37,22 +43,22 @@ class Vec2
|
|||||||
inline void set( float x, float y ) { _v[0]=x; _v[1]=y; }
|
inline void set( float x, float y ) { _v[0]=x; _v[1]=y; }
|
||||||
|
|
||||||
inline float& operator [] (int i) { return _v[i]; }
|
inline float& operator [] (int i) { return _v[i]; }
|
||||||
inline float operator [] (int i) const { return _v[i]; }
|
inline const float operator [] (int i) const { return _v[i]; }
|
||||||
|
|
||||||
inline float& x() { return _v[0]; }
|
inline float& x() { return _v[0]; }
|
||||||
inline float& y() { return _v[1]; }
|
inline float& y() { return _v[1]; }
|
||||||
|
|
||||||
inline float x() const { return _v[0]; }
|
inline const float x() const { return _v[0]; }
|
||||||
inline float y() const { return _v[1]; }
|
inline const float y() const { return _v[1]; }
|
||||||
|
|
||||||
/// dot product
|
/// dot product
|
||||||
inline float operator * (const Vec2& rhs) const
|
inline const float operator * (const Vec2& rhs) const
|
||||||
{
|
{
|
||||||
return _v[0]*rhs._v[0]+_v[1]*rhs._v[1];
|
return _v[0]*rhs._v[0]+_v[1]*rhs._v[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// multiply by scalar
|
/// multiply by scalar
|
||||||
inline Vec2 operator * (const float& rhs) const
|
inline const Vec2 operator * (const float& rhs) const
|
||||||
{
|
{
|
||||||
return Vec2(_v[0]*rhs, _v[1]*rhs);
|
return Vec2(_v[0]*rhs, _v[1]*rhs);
|
||||||
}
|
}
|
||||||
@ -66,7 +72,7 @@ class Vec2
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// divide by scalar
|
/// divide by scalar
|
||||||
inline Vec2 operator / (const float& rhs) const
|
inline const Vec2 operator / (const float& rhs) const
|
||||||
{
|
{
|
||||||
return Vec2(_v[0]/rhs, _v[1]/rhs);
|
return Vec2(_v[0]/rhs, _v[1]/rhs);
|
||||||
}
|
}
|
||||||
@ -80,7 +86,7 @@ class Vec2
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// binary vector add
|
/// binary vector add
|
||||||
inline Vec2 operator + (const Vec2& rhs) const
|
inline const Vec2 operator + (const Vec2& rhs) const
|
||||||
{
|
{
|
||||||
return Vec2(_v[0]+rhs._v[0], _v[1]+rhs._v[1]);
|
return Vec2(_v[0]+rhs._v[0], _v[1]+rhs._v[1]);
|
||||||
}
|
}
|
||||||
@ -95,7 +101,7 @@ class Vec2
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// binary vector subract
|
/// binary vector subract
|
||||||
inline Vec2 operator - (const Vec2& rhs) const
|
inline const Vec2 operator - (const Vec2& rhs) const
|
||||||
{
|
{
|
||||||
return Vec2(_v[0]-rhs._v[0], _v[1]-rhs._v[1]);
|
return Vec2(_v[0]-rhs._v[0], _v[1]-rhs._v[1]);
|
||||||
}
|
}
|
||||||
@ -109,26 +115,26 @@ class Vec2
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// negation operator. Returns the negative of the Vec2
|
/// negation operator. Returns the negative of the Vec2
|
||||||
inline Vec2 operator - () const
|
inline const Vec2 operator - () const
|
||||||
{
|
{
|
||||||
return Vec2 (-_v[0], -_v[1]);
|
return Vec2 (-_v[0], -_v[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length of the vector = sqrt( vec . vec )
|
/// Length of the vector = sqrt( vec . vec )
|
||||||
inline float length() const
|
inline const float length() const
|
||||||
{
|
{
|
||||||
return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] );
|
return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length squared of the vector = vec . vec
|
/// Length squared of the vector = vec . vec
|
||||||
inline float length2( void ) const
|
inline const float length2( void ) const
|
||||||
{
|
{
|
||||||
return _v[0]*_v[0] + _v[1]*_v[1];
|
return _v[0]*_v[0] + _v[1]*_v[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** normalize the vector so that it has length unity
|
/** normalize the vector so that it has length unity
|
||||||
returns the previous length of the vector*/
|
returns the previous length of the vector*/
|
||||||
inline float normalize()
|
inline const float normalize()
|
||||||
{
|
{
|
||||||
float norm = Vec2::length();
|
float norm = Vec2::length();
|
||||||
_v[0] /= norm;
|
_v[0] /= norm;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#ifndef OSG_VEC3
|
#ifndef OSG_VEC3
|
||||||
#define OSG_VEC3 1
|
#define OSG_VEC3 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef OSG_USE_IO_DOT_H
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
@ -28,7 +27,16 @@ class Vec3
|
|||||||
|
|
||||||
float _v[3];
|
float _v[3];
|
||||||
|
|
||||||
bool operator == (const Vec3& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2]; }
|
inline const bool operator == (const Vec3& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2]; }
|
||||||
|
|
||||||
|
inline const bool operator < (const Vec3& v) const
|
||||||
|
{
|
||||||
|
if (_v[0]<v._v[0]) return true;
|
||||||
|
else if (_v[0]>v._v[0]) return false;
|
||||||
|
else if (_v[1]<v._v[1]) return true;
|
||||||
|
else if (_v[1]>v._v[1]) return false;
|
||||||
|
else return (_v[2]<v._v[2]);
|
||||||
|
}
|
||||||
|
|
||||||
inline float* ptr() { return _v; }
|
inline float* ptr() { return _v; }
|
||||||
inline const float* ptr() const { return _v; }
|
inline const float* ptr() const { return _v; }
|
||||||
@ -39,15 +47,15 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline float& operator [] (int i) { return _v[i]; }
|
inline float& operator [] (int i) { return _v[i]; }
|
||||||
inline float operator [] (int i) const { return _v[i]; }
|
inline const float operator [] (int i) const { return _v[i]; }
|
||||||
|
|
||||||
inline float& x() { return _v[0]; }
|
inline float& x() { return _v[0]; }
|
||||||
inline float& y() { return _v[1]; }
|
inline float& y() { return _v[1]; }
|
||||||
inline float& z() { return _v[2]; }
|
inline float& z() { return _v[2]; }
|
||||||
|
|
||||||
inline float x() const { return _v[0]; }
|
inline const float x() const { return _v[0]; }
|
||||||
inline float y() const { return _v[1]; }
|
inline const float y() const { return _v[1]; }
|
||||||
inline float z() const { return _v[2]; }
|
inline const float z() const { return _v[2]; }
|
||||||
|
|
||||||
/// dot product
|
/// dot product
|
||||||
inline float operator * (const Vec3& rhs) const
|
inline float operator * (const Vec3& rhs) const
|
||||||
@ -56,7 +64,7 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// cross product
|
/// cross product
|
||||||
inline Vec3 operator ^ (const Vec3& rhs) const
|
inline const Vec3 operator ^ (const Vec3& rhs) const
|
||||||
{
|
{
|
||||||
return Vec3(_v[1]*rhs._v[2]-_v[2]*rhs._v[1],
|
return Vec3(_v[1]*rhs._v[2]-_v[2]*rhs._v[1],
|
||||||
_v[2]*rhs._v[0]-_v[0]*rhs._v[2] ,
|
_v[2]*rhs._v[0]-_v[0]*rhs._v[2] ,
|
||||||
@ -64,7 +72,7 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// multiply by scalar
|
/// multiply by scalar
|
||||||
inline Vec3 operator * (const float& rhs) const
|
inline const Vec3 operator * (const float& rhs) const
|
||||||
{
|
{
|
||||||
return Vec3(_v[0]*rhs, _v[1]*rhs, _v[2]*rhs);
|
return Vec3(_v[0]*rhs, _v[1]*rhs, _v[2]*rhs);
|
||||||
}
|
}
|
||||||
@ -79,7 +87,7 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// divide by scalar
|
/// divide by scalar
|
||||||
inline Vec3 operator / (const float& rhs) const
|
inline const Vec3 operator / (const float& rhs) const
|
||||||
{
|
{
|
||||||
return Vec3(_v[0]/rhs, _v[1]/rhs, _v[2]/rhs);
|
return Vec3(_v[0]/rhs, _v[1]/rhs, _v[2]/rhs);
|
||||||
}
|
}
|
||||||
@ -94,7 +102,7 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// binary vector add
|
/// binary vector add
|
||||||
inline Vec3 operator + (const Vec3& rhs) const
|
inline const Vec3 operator + (const Vec3& rhs) const
|
||||||
{
|
{
|
||||||
return Vec3(_v[0]+rhs._v[0], _v[1]+rhs._v[1], _v[2]+rhs._v[2]);
|
return Vec3(_v[0]+rhs._v[0], _v[1]+rhs._v[1], _v[2]+rhs._v[2]);
|
||||||
}
|
}
|
||||||
@ -110,7 +118,7 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// binary vector subract
|
/// binary vector subract
|
||||||
inline Vec3 operator - (const Vec3& rhs) const
|
inline const Vec3 operator - (const Vec3& rhs) const
|
||||||
{
|
{
|
||||||
return Vec3(_v[0]-rhs._v[0], _v[1]-rhs._v[1], _v[2]-rhs._v[2]);
|
return Vec3(_v[0]-rhs._v[0], _v[1]-rhs._v[1], _v[2]-rhs._v[2]);
|
||||||
}
|
}
|
||||||
@ -125,26 +133,26 @@ class Vec3
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// negation operator. Returns the negative of the Vec3
|
/// negation operator. Returns the negative of the Vec3
|
||||||
inline Vec3 operator - () const
|
inline const Vec3 operator - () const
|
||||||
{
|
{
|
||||||
return Vec3 (-_v[0], -_v[1], -_v[2]);
|
return Vec3 (-_v[0], -_v[1], -_v[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length of the vector = sqrt( vec . vec )
|
/// Length of the vector = sqrt( vec . vec )
|
||||||
inline float length( void ) const
|
inline const float length() const
|
||||||
{
|
{
|
||||||
return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] );
|
return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length squared of the vector = vec . vec
|
/// Length squared of the vector = vec . vec
|
||||||
inline float length2( void ) const
|
inline const float length2() const
|
||||||
{
|
{
|
||||||
return _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2];
|
return _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** normalize the vector so that it has length unity
|
/** normalize the vector so that it has length unity
|
||||||
returns the previous length of the vector*/
|
returns the previous length of the vector*/
|
||||||
inline float normalize()
|
inline const float normalize()
|
||||||
{
|
{
|
||||||
float norm = Vec3::length();
|
float norm = Vec3::length();
|
||||||
_v[0] /= norm;
|
_v[0] /= norm;
|
||||||
@ -153,16 +161,18 @@ class Vec3
|
|||||||
return( norm );
|
return( norm );
|
||||||
}
|
}
|
||||||
|
|
||||||
friend inline ostream& operator << (ostream& output, const Vec3& vec)
|
friend inline ostream& operator << (ostream& output, const Vec3& vec);
|
||||||
{
|
|
||||||
output << vec._v[0] << " "
|
|
||||||
<< vec._v[1] << " "
|
|
||||||
<< vec._v[2];
|
|
||||||
return output; // to enable cascading
|
|
||||||
}
|
|
||||||
|
|
||||||
}; // end of class Vec3
|
}; // end of class Vec3
|
||||||
|
|
||||||
|
inline ostream& operator << (ostream& output, const Vec3& vec)
|
||||||
|
{
|
||||||
|
output << vec._v[0] << " "
|
||||||
|
<< vec._v[1] << " "
|
||||||
|
<< vec._v[2];
|
||||||
|
return output; // to enable cascading
|
||||||
|
}
|
||||||
|
|
||||||
} // end of namespace osg
|
} // end of namespace osg
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#ifndef OSG_VEC4
|
#ifndef OSG_VEC4
|
||||||
#define OSG_VEC4 1
|
#define OSG_VEC4 1
|
||||||
|
|
||||||
#include <osg/Export>
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef OSG_USE_IO_DOT_H
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
@ -33,7 +32,18 @@ class Vec4
|
|||||||
|
|
||||||
float _v[4];
|
float _v[4];
|
||||||
|
|
||||||
bool operator == (const Vec4& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2] && _v[3]==v._v[3]; }
|
inline const bool operator == (const Vec4& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2] && _v[3]==v._v[3]; }
|
||||||
|
|
||||||
|
inline const bool operator < (const Vec4& v) const
|
||||||
|
{
|
||||||
|
if (_v[0]<v._v[0]) return true;
|
||||||
|
else if (_v[0]>v._v[0]) return false;
|
||||||
|
else if (_v[1]<v._v[1]) return true;
|
||||||
|
else if (_v[1]>v._v[1]) return false;
|
||||||
|
else if (_v[2]<v._v[2]) return true;
|
||||||
|
else if (_v[2]>v._v[2]) return false;
|
||||||
|
else return (_v[3]<v._v[3]);
|
||||||
|
}
|
||||||
|
|
||||||
inline float* ptr() { return _v; }
|
inline float* ptr() { return _v; }
|
||||||
inline const float* ptr() const { return _v; }
|
inline const float* ptr() const { return _v; }
|
||||||
@ -43,8 +53,8 @@ class Vec4
|
|||||||
_v[0]=x; _v[1]=y; _v[2]=z; _v[3]=w;
|
_v[0]=x; _v[1]=y; _v[2]=z; _v[3]=w;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline float& operator [] (int i) { return _v[i]; }
|
inline float& operator [] (const int i) { return _v[i]; }
|
||||||
inline float operator [] (int i) const { return _v[i]; }
|
inline float operator [] (const int i) const { return _v[i]; }
|
||||||
|
|
||||||
inline float& x() { return _v[0]; }
|
inline float& x() { return _v[0]; }
|
||||||
inline float& y() { return _v[1]; }
|
inline float& y() { return _v[1]; }
|
||||||
@ -133,26 +143,26 @@ class Vec4
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// negation operator. Returns the negative of the Vec4
|
/// negation operator. Returns the negative of the Vec4
|
||||||
inline Vec4 operator - () const
|
inline const Vec4 operator - () const
|
||||||
{
|
{
|
||||||
return Vec4 (-_v[0], -_v[1], -_v[2], -_v[3]);
|
return Vec4 (-_v[0], -_v[1], -_v[2], -_v[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length of the vector = sqrt( vec . vec )
|
/// Length of the vector = sqrt( vec . vec )
|
||||||
inline float length( void ) const
|
inline const float length() const
|
||||||
{
|
{
|
||||||
return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] + _v[3]*_v[3]);
|
return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] + _v[3]*_v[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Length squared of the vector = vec . vec
|
/// Length squared of the vector = vec . vec
|
||||||
inline float length2( void ) const
|
inline const float length2() const
|
||||||
{
|
{
|
||||||
return _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] + _v[3]*_v[3];
|
return _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] + _v[3]*_v[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** normalize the vector so that it has length unity
|
/** normalize the vector so that it has length unity
|
||||||
returns the previous length of the vector*/
|
returns the previous length of the vector*/
|
||||||
inline float normalize()
|
inline const float normalize()
|
||||||
{
|
{
|
||||||
float norm = Vec4::length();
|
float norm = Vec4::length();
|
||||||
_v[0] /= norm;
|
_v[0] /= norm;
|
||||||
|
72
include/osgDB/DotOsgWrapper
Normal file
72
include/osgDB/DotOsgWrapper
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
#ifndef OSGDB_DOTOSGWRAPPER
|
||||||
|
#define OSGDB_DOTOSGWRAPPER 1
|
||||||
|
|
||||||
|
#include <osg/ref_ptr>
|
||||||
|
#include <osg/Object>
|
||||||
|
|
||||||
|
#include <osgDB/Input>
|
||||||
|
#include <osgDB/Output>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
//#include <stdlib.h>
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
|
||||||
|
/** Wrapper class for specifing read and write functions for extending
|
||||||
|
* the .osg file format. */
|
||||||
|
class OSGDB_EXPORT DotOsgWrapper : public osg::Referenced
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
typedef std::vector<std::string> Associates;
|
||||||
|
typedef bool (*ReadFunc)(osg::Object&,osgDB::Input&);
|
||||||
|
typedef bool (*WriteFunc)(const osg::Object&,osgDB::Output&);
|
||||||
|
|
||||||
|
enum ReadWriteMode
|
||||||
|
{
|
||||||
|
READ_AND_WRITE,
|
||||||
|
READ_ONLY
|
||||||
|
};
|
||||||
|
|
||||||
|
DotOsgWrapper(osg::Object* proto,
|
||||||
|
const std::string& name,
|
||||||
|
const std::string& associates,
|
||||||
|
ReadFunc readFunc,
|
||||||
|
WriteFunc writeFunc,
|
||||||
|
ReadWriteMode readWriteMode=READ_AND_WRITE);
|
||||||
|
|
||||||
|
|
||||||
|
inline const osg::Object* getPrototype() const { return _prototype.get(); }
|
||||||
|
inline const std::string& getName() const { return _name; }
|
||||||
|
inline const Associates& getAssociates() const { return _associates; }
|
||||||
|
inline ReadFunc getReadFunc() const { return _readFunc; }
|
||||||
|
inline WriteFunc getWriteFunc() const { return _writeFunc; }
|
||||||
|
inline ReadWriteMode getReadWriteMode() const { return _readWriteMode; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
/// protected to prevent inappropriate creation of wrappers.
|
||||||
|
DotOsgWrapper() {}
|
||||||
|
|
||||||
|
/// protected to prevent inappropriate creation of wrappers.
|
||||||
|
DotOsgWrapper(DotOsgWrapper&):osg::Referenced() {}
|
||||||
|
|
||||||
|
/// protected to prevent wrapper being created on stack.
|
||||||
|
virtual ~DotOsgWrapper() {}
|
||||||
|
|
||||||
|
osg::ref_ptr<osg::Object> _prototype;
|
||||||
|
|
||||||
|
std::string _name;
|
||||||
|
Associates _associates;
|
||||||
|
|
||||||
|
ReadFunc _readFunc;
|
||||||
|
WriteFunc _writeFunc;
|
||||||
|
|
||||||
|
ReadWriteMode _readWriteMode;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
63
include/osgDB/DynamicLibrary
Normal file
63
include/osgDB/DynamicLibrary
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#ifndef OSG_DYNAMICLIBRARY
|
||||||
|
#define OSG_DYNAMICLIBRARY 1
|
||||||
|
|
||||||
|
#include <osg/Referenced>
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
/** DynamicLibrary - encapsulates the loading and unloading of dynamic libraries,
|
||||||
|
typically used for loading ReaderWriter plug-ins.
|
||||||
|
*/
|
||||||
|
class OSGDB_EXPORT DynamicLibrary : public osg::Referenced
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
typedef void* HANDLE;
|
||||||
|
typedef void* PROC_ADDRESS;
|
||||||
|
|
||||||
|
/** returns a pointer to a DynamicLibrary object on successfully
|
||||||
|
* opening of library returns NULL on failure.
|
||||||
|
*/
|
||||||
|
static DynamicLibrary* loadLibrary(const std::string& libraryName);
|
||||||
|
|
||||||
|
/** return name of library stripped of path.*/
|
||||||
|
const std::string& getName() const { return _name; }
|
||||||
|
|
||||||
|
/** return name of library including full path to it.*/
|
||||||
|
const std::string& getFullName() const { return _fullName; }
|
||||||
|
|
||||||
|
/** return handle to .dso/.dll dynamic library itself.*/
|
||||||
|
HANDLE getHandle() const { return _handle; }
|
||||||
|
|
||||||
|
/** return address of function located in library.*/
|
||||||
|
PROC_ADDRESS getProcAddress(const std::string& procName);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
/** disallow default constructor.*/
|
||||||
|
DynamicLibrary():osg::Referenced() {}
|
||||||
|
/** disallow copy constructor.*/
|
||||||
|
DynamicLibrary(const DynamicLibrary&):osg::Referenced() {}
|
||||||
|
/** disallow copy operator.*/
|
||||||
|
DynamicLibrary& operator == (const DynamicLibrary&) { return *this; }
|
||||||
|
|
||||||
|
/** Disallow public construction so that users have to go
|
||||||
|
* through loadLibrary() above which returns NULL on
|
||||||
|
* failure, a valid DynamicLibrary object on success.
|
||||||
|
*/
|
||||||
|
DynamicLibrary(const std::string& name,HANDLE handle);
|
||||||
|
~DynamicLibrary();
|
||||||
|
|
||||||
|
HANDLE _handle;
|
||||||
|
std::string _name;
|
||||||
|
std::string _fullName;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __DYNAMIC_LIBRARY_H
|
21
include/osgDB/Export
Normal file
21
include/osgDB/Export
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#ifndef OSGDB_EXPORT_
|
||||||
|
#define OSGDB_EXPORT_ 1
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#pragma warning( disable : 4251 )
|
||||||
|
#pragma warning( disable : 4275 )
|
||||||
|
#pragma warning( disable : 4786 )
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# ifdef OSGDB_LIBRARY
|
||||||
|
# define OSGDB_EXPORT __declspec(dllexport)
|
||||||
|
# else
|
||||||
|
# define OSGDB_EXPORT __declspec(dllimport)
|
||||||
|
# endif /* OSGDBSG_LIBRARY */
|
||||||
|
#else
|
||||||
|
# define OSGDB_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
106
include/osgDB/Field
Normal file
106
include/osgDB/Field
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
#ifndef OSGDB_FIELD
|
||||||
|
#define OSGDB_FIELD 1
|
||||||
|
|
||||||
|
#include <osg/Types>
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
|
||||||
|
class OSGDB_EXPORT Field
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
enum {
|
||||||
|
MIN_CACHE_SIZE = 256
|
||||||
|
};
|
||||||
|
|
||||||
|
Field();
|
||||||
|
Field(const Field& field);
|
||||||
|
virtual ~Field();
|
||||||
|
|
||||||
|
virtual Field& operator = (const Field& ic);
|
||||||
|
|
||||||
|
void reset();
|
||||||
|
void addChar(char c);
|
||||||
|
int getNoCharacters() const { return _fieldCacheSize; }
|
||||||
|
|
||||||
|
void setWithinQuotes(bool withinQuotes=true);
|
||||||
|
bool getWithinQuotes();
|
||||||
|
|
||||||
|
void setNoNestedBrackets(int no);
|
||||||
|
int getNoNestedBrackets();
|
||||||
|
|
||||||
|
enum FieldType
|
||||||
|
{
|
||||||
|
OPEN_BRACKET,
|
||||||
|
CLOSE_BRACKET,
|
||||||
|
STRING,
|
||||||
|
WORD,
|
||||||
|
REAL,
|
||||||
|
INTEGER,
|
||||||
|
BLANK,
|
||||||
|
UNINTIALISED
|
||||||
|
};
|
||||||
|
|
||||||
|
FieldType getFieldType() const;
|
||||||
|
|
||||||
|
bool isValid() const;
|
||||||
|
|
||||||
|
bool isOpenBracket() const;
|
||||||
|
bool isCloseBracket() const;
|
||||||
|
|
||||||
|
bool isWord() const;
|
||||||
|
bool matchWord(const char* str) const;
|
||||||
|
bool matchWord(const char* str,int noCharacters) const;
|
||||||
|
|
||||||
|
bool isString() const;
|
||||||
|
bool matchString(const char* str) const;
|
||||||
|
bool matchString(const char* str,int noCharacters) const;
|
||||||
|
bool isQuotedString() const;
|
||||||
|
|
||||||
|
const char* getStr() const;
|
||||||
|
char* takeStr();
|
||||||
|
|
||||||
|
bool isInt() const;
|
||||||
|
bool matchInt(int i) const;
|
||||||
|
bool getInt(int& i) const;
|
||||||
|
|
||||||
|
bool isUInt() const;
|
||||||
|
bool matchUInt(osg::uint i) const;
|
||||||
|
bool getUInt(osg::uint& i) const;
|
||||||
|
|
||||||
|
bool isFloat() const;
|
||||||
|
bool matchFloat(float f) const;
|
||||||
|
bool getFloat(float& f) const;
|
||||||
|
|
||||||
|
bool isDouble() const;
|
||||||
|
bool matchDouble(double f) const;
|
||||||
|
bool getDouble(double& d) const;
|
||||||
|
|
||||||
|
static FieldType calculateFieldType(const char* str,bool withinQuotes=false);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
void _init();
|
||||||
|
void _free();
|
||||||
|
void _copy(const Field& ic);
|
||||||
|
|
||||||
|
int _fieldCacheCapacity;
|
||||||
|
int _fieldCacheSize;
|
||||||
|
char* _fieldCache;
|
||||||
|
|
||||||
|
mutable FieldType _fieldType;
|
||||||
|
|
||||||
|
bool _withinQuotes;
|
||||||
|
|
||||||
|
int _noNestedBrackets;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __SG_FIELD_H
|
63
include/osgDB/FieldReader
Normal file
63
include/osgDB/FieldReader
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#ifndef OSGDB_FIELDREADER
|
||||||
|
#define OSGDB_FIELDREADER 1
|
||||||
|
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
|
#include <iostream.h>
|
||||||
|
#else
|
||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
class Field;
|
||||||
|
|
||||||
|
class OSGDB_EXPORT FieldReader
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
FieldReader();
|
||||||
|
FieldReader(const FieldReader& ic);
|
||||||
|
virtual ~FieldReader();
|
||||||
|
|
||||||
|
virtual FieldReader& operator = (const FieldReader& ic);
|
||||||
|
|
||||||
|
void attach(istream* input);
|
||||||
|
void detach();
|
||||||
|
|
||||||
|
virtual bool eof() const;
|
||||||
|
|
||||||
|
bool readField(Field& fieldPtr);
|
||||||
|
void ignoreField();
|
||||||
|
|
||||||
|
/** no of unmatched `{' encounterd so far in file*/
|
||||||
|
int getNoNestedBrackets() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
bool _readField(Field* fieldPtr);
|
||||||
|
|
||||||
|
void _init();
|
||||||
|
void _free();
|
||||||
|
void _copy(const FieldReader& ic);
|
||||||
|
|
||||||
|
istream* _fin;
|
||||||
|
bool _eof;
|
||||||
|
|
||||||
|
bool findStartOfNextField();
|
||||||
|
|
||||||
|
int _noNestedBrackets;
|
||||||
|
|
||||||
|
bool _delimiterEatLookUp[256];
|
||||||
|
bool _delimiterKeepLookUp[256];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __SG_FIELD_READER_H
|
68
include/osgDB/FieldReaderIterator
Normal file
68
include/osgDB/FieldReaderIterator
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
#ifndef OSGDB_FIELDREADERITERATOR
|
||||||
|
#define OSGDB_FIELDREADERITERATOR 1
|
||||||
|
|
||||||
|
#include <osgDB/Field>
|
||||||
|
#include <osgDB/FieldReader>
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
|
||||||
|
class OSGDB_EXPORT FieldReaderIterator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
enum {
|
||||||
|
MINIMUM_FIELD_READER_QUEUE_SIZE = 10
|
||||||
|
};
|
||||||
|
|
||||||
|
FieldReaderIterator();
|
||||||
|
FieldReaderIterator(const FieldReaderIterator& ic);
|
||||||
|
virtual ~FieldReaderIterator();
|
||||||
|
|
||||||
|
virtual FieldReaderIterator& operator = (const FieldReaderIterator& ic);
|
||||||
|
|
||||||
|
void attach(istream* input);
|
||||||
|
void detach();
|
||||||
|
|
||||||
|
virtual bool eof() const;
|
||||||
|
|
||||||
|
FieldReader& getFieldReader() { return _reader; }
|
||||||
|
|
||||||
|
void insert(int pos,Field* field);
|
||||||
|
void insert(int pos,const char* str);
|
||||||
|
|
||||||
|
Field& operator [] (int pos);
|
||||||
|
Field& field (int pos);
|
||||||
|
|
||||||
|
FieldReaderIterator& operator ++ ();
|
||||||
|
FieldReaderIterator& operator += (int no);
|
||||||
|
|
||||||
|
/** increments the itetor of the next simple field or
|
||||||
|
whole block if the current field[0] is an open bracket */
|
||||||
|
void advanceOverCurrentFieldOrBlock();
|
||||||
|
void advanceToEndOfCurrentBlock();
|
||||||
|
void advanceToEndOfBlock(int noNestBrackets);
|
||||||
|
|
||||||
|
bool matchSequence(const char* str);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void _init();
|
||||||
|
void _free();
|
||||||
|
void _copy(const FieldReaderIterator& ic);
|
||||||
|
|
||||||
|
FieldReader _reader;
|
||||||
|
|
||||||
|
Field _blank;
|
||||||
|
|
||||||
|
Field* _previousField;
|
||||||
|
|
||||||
|
Field** _fieldQueue;
|
||||||
|
int _fieldQueueSize;
|
||||||
|
int _fieldQueueCapacity;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __OSGDB_FIELD_READER_QUEUE_H
|
21
include/osgDB/FileNameUtils
Normal file
21
include/osgDB/FileNameUtils
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#ifndef OSGDB_FILENAMEUTILS
|
||||||
|
#define OSGDB_FILENAMEUTILS 1
|
||||||
|
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
OSGDB_EXPORT extern std::string getFilePath(const std::string& filename);
|
||||||
|
OSGDB_EXPORT extern std::string getFileExtension(const std::string& filename);
|
||||||
|
OSGDB_EXPORT extern std::string getLowerCaseFileExtension(const std::string& filename);
|
||||||
|
OSGDB_EXPORT extern std::string getSimpleFileName(const std::string& fileName);
|
||||||
|
OSGDB_EXPORT extern std::string getStrippedName(const std::string& fileName);
|
||||||
|
|
||||||
|
OSGDB_EXPORT extern bool equalCaseInsensitive(const std::string& lhs,const std::string& rhs);
|
||||||
|
OSGDB_EXPORT extern bool equalCaseInsensitive(const std::string& lhs,const char* rhs);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
46
include/osgDB/FileUtils
Normal file
46
include/osgDB/FileUtils
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#ifndef OSGDB_FILEUTILS
|
||||||
|
#define OSGDB_FILEUTILS 1
|
||||||
|
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
/** initialize the data file path,
|
||||||
|
* uses OSGFILEPATH environmental
|
||||||
|
* variable to defined.*/
|
||||||
|
OSGDB_EXPORT extern void initFilePath( void );
|
||||||
|
|
||||||
|
/** set the data file path.*/
|
||||||
|
OSGDB_EXPORT extern void setFilePath( const char *_path );
|
||||||
|
|
||||||
|
/** set the data file path.*/
|
||||||
|
OSGDB_EXPORT extern const char* getFilePath();
|
||||||
|
|
||||||
|
/** find specified file on the set data file path.*/
|
||||||
|
OSGDB_EXPORT extern char *findFile( const char *file );
|
||||||
|
|
||||||
|
/** find specified dso/dll.*/
|
||||||
|
OSGDB_EXPORT extern char *findDSO( const char *name );
|
||||||
|
|
||||||
|
/** simple list of names to represent a directory's contents. */
|
||||||
|
typedef std::vector<std::string> DirectoryContents;
|
||||||
|
|
||||||
|
/** return the directory/filename of a file if its is contained within specified directory.
|
||||||
|
* return "" if directory does not contain file. If caseInsensitive is set to true then
|
||||||
|
* a case insenstive comparision is used to compare fileName to directory contents.
|
||||||
|
* This is useful when unix programs attempt read case insentive windows filenames.
|
||||||
|
*/
|
||||||
|
OSGDB_EXPORT extern std::string findFileInDirectory(const std::string& fileName,const std::string& dirName,bool caseInsensitive=false);
|
||||||
|
|
||||||
|
/** return the contents of a directory.
|
||||||
|
* returns an empty array on any error.*/
|
||||||
|
OSGDB_EXPORT extern DirectoryContents getDirectoryContents(const std::string& dirName);
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
48
include/osgDB/Input
Normal file
48
include/osgDB/Input
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#ifndef OSGDB_INPUT
|
||||||
|
#define OSGDB_INPUT 1
|
||||||
|
|
||||||
|
#include <osg/Image>
|
||||||
|
#include <osg/Node>
|
||||||
|
#include <osg/Drawable>
|
||||||
|
#include <osg/StateAttribute>
|
||||||
|
|
||||||
|
#include <osgDB/FieldReaderIterator>
|
||||||
|
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
/** Class for managing the reading of ASCII .osg files.*/
|
||||||
|
class OSGDB_EXPORT Input : public FieldReaderIterator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
Input();
|
||||||
|
virtual ~Input();
|
||||||
|
|
||||||
|
virtual osg::Object* readObjectOfType(const osg::Object& compObj);
|
||||||
|
|
||||||
|
virtual osg::Object* readObject();
|
||||||
|
virtual osg::Image* readImage();
|
||||||
|
virtual osg::Drawable* readDrawable();
|
||||||
|
virtual osg::StateAttribute* readStateAttribute();
|
||||||
|
virtual osg::Node* readNode();
|
||||||
|
|
||||||
|
virtual osg::Object* readObject(const std::string& fileName);
|
||||||
|
virtual osg::Image* readImage(const std::string& fileName);
|
||||||
|
virtual osg::Node* readNode(const std::string& fileName);
|
||||||
|
|
||||||
|
virtual osg::Object* getObjectForUniqueID(const std::string& uniqueID);
|
||||||
|
virtual void regisiterUniqueIDForObject(const std::string& uniqueID,osg::Object* obj);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
typedef std::map<std::string,osg::Object*> UniqueIDToObjectMapping;
|
||||||
|
UniqueIDToObjectMapping _uniqueIDToObjectMap;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __SG_INPUT_H
|
120
include/osgDB/Output
Normal file
120
include/osgDB/Output
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
#ifndef OSGDB_OUTPUT
|
||||||
|
#define OSGDB_OUTPUT 1
|
||||||
|
|
||||||
|
#include <osg/Object>
|
||||||
|
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
#ifdef OSG_USE_IO_DOT_H
|
||||||
|
#include <fstream.h>
|
||||||
|
#else
|
||||||
|
#include <fstream>
|
||||||
|
using namespace std;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
/** ofstream wrapper class for adding support for indenting.
|
||||||
|
Used in output of .osg ASCII files to improve their readability.*/
|
||||||
|
class OSGDB_EXPORT Output : public ofstream
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
Output();
|
||||||
|
Output(const char* name);
|
||||||
|
|
||||||
|
virtual ~Output();
|
||||||
|
|
||||||
|
void open(const char *name);
|
||||||
|
void open(const char *name,int mode);
|
||||||
|
|
||||||
|
Output& indent();
|
||||||
|
|
||||||
|
inline const int getIndentStep() const { return _indentStep; }
|
||||||
|
inline void setIndentStep(int step) { _indentStep = step; }
|
||||||
|
|
||||||
|
inline const int getIndent() const { return _indent; }
|
||||||
|
inline void setIndent(int indent) { _indent = indent; }
|
||||||
|
|
||||||
|
inline const int getNumIndicesPerLine() const { return _numIndicesPerLine; }
|
||||||
|
inline void setNumIndicesPerLine(int num) { _numIndicesPerLine = num; }
|
||||||
|
|
||||||
|
void moveIn();
|
||||||
|
void moveOut();
|
||||||
|
|
||||||
|
virtual bool writeObject(const osg::Object& obj);
|
||||||
|
|
||||||
|
bool getUniqueIDForObject(const osg::Object* obj,std::string& uniqueID);
|
||||||
|
bool createUniqueIDForObject(const osg::Object* obj,std::string& uniqueID);
|
||||||
|
bool registerUniqueIDForObject(const osg::Object* obj,std::string& uniqueID);
|
||||||
|
|
||||||
|
enum PathNameHint
|
||||||
|
{
|
||||||
|
AS_IS,
|
||||||
|
FULL_PATH,
|
||||||
|
RELATIVE_PATH,
|
||||||
|
FILENAME_ONLY
|
||||||
|
};
|
||||||
|
|
||||||
|
inline void setPathNameHint(const PathNameHint pnh) { _pathNameHint = pnh; }
|
||||||
|
inline const PathNameHint getPathNameHint() const { return _pathNameHint; }
|
||||||
|
|
||||||
|
virtual const std::string getFileNameForOutput(const std::string& filename) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// prevent copy construction and assignment.
|
||||||
|
Output(const Output&) : ofstream() {}
|
||||||
|
Output& operator = (const Output&) { return *this; }
|
||||||
|
|
||||||
|
virtual void init();
|
||||||
|
|
||||||
|
int _indent;
|
||||||
|
int _indentStep;
|
||||||
|
|
||||||
|
int _numIndicesPerLine;
|
||||||
|
|
||||||
|
typedef std::map<const osg::Object*,std::string> UniqueIDToLabelMapping;
|
||||||
|
UniqueIDToLabelMapping _objectToUniqueIDMap;
|
||||||
|
|
||||||
|
std::string _filename;
|
||||||
|
|
||||||
|
PathNameHint _pathNameHint;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
bool writeArrayBlock(Output& fw,T* start,T* finish)
|
||||||
|
{
|
||||||
|
fw.indent() << "{" << endl;
|
||||||
|
fw.moveIn();
|
||||||
|
int numIndicesThisLine = 0;
|
||||||
|
for(T* itr=start;itr!=finish;++itr)
|
||||||
|
{
|
||||||
|
if (numIndicesThisLine>=fw.getNumIndicesPerLine())
|
||||||
|
{
|
||||||
|
fw << endl;
|
||||||
|
numIndicesThisLine = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (numIndicesThisLine==0) fw.indent();
|
||||||
|
else fw << " ";
|
||||||
|
|
||||||
|
fw << *itr;
|
||||||
|
|
||||||
|
++numIndicesThisLine;
|
||||||
|
|
||||||
|
}
|
||||||
|
fw << endl;
|
||||||
|
fw.moveOut();
|
||||||
|
fw.indent() << "}" << endl;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __SG_OUTPUT_H
|
39
include/osgDB/ReadFile
Normal file
39
include/osgDB/ReadFile
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#ifndef OSGDB_READFILE
|
||||||
|
#define OSGDB_READFILE 1
|
||||||
|
|
||||||
|
#include <osg/Node>
|
||||||
|
#include <osg/Image>
|
||||||
|
|
||||||
|
#include <osgDB/Export>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace osgDB {
|
||||||
|
|
||||||
|
/** Read an osg::Object from file.
|
||||||
|
* Return valid osg::Object on sucess,
|
||||||
|
* return NULL on failure.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to read the specified file.*/
|
||||||
|
OSGDB_EXPORT extern osg::Object* readObjectFile(const std::string& filename);
|
||||||
|
|
||||||
|
/** Read an osg::Image from file.
|
||||||
|
* Return valid osg::Image on sucess,
|
||||||
|
* return NULL on failure.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to read the specified file.*/
|
||||||
|
OSGDB_EXPORT extern osg::Image* readImageFile(const std::string& filename);
|
||||||
|
|
||||||
|
/** Read an osg::Node from file.
|
||||||
|
* Return valid osg::Node on sucess,
|
||||||
|
* return NULL on failure.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to read the specified file.*/
|
||||||
|
OSGDB_EXPORT extern osg::Node* readNodeFile(const std::string& filename);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user