Commit Graph

484 Commits

Author SHA1 Message Date
Robert Osfield
e30a534ec9 Adde another friend to remove final VS6.0 compile problem. 2004-11-16 15:36:06 +00:00
Robert Osfield
f99dc8f051 Made the inner helper classes friend to try and get round VS6.0 problems 2004-11-16 14:10:30 +00:00
Robert Osfield
2b310c6926 Added support for serialization of calls to ReaderWriter plugins. 2004-11-15 19:46:10 +00:00
Robert Osfield
4094c3f058 Added osgDB::ReentrantMutex is prep for making osgDB::Registry single threaded. 2004-11-15 11:57:41 +00:00
Robert Osfield
39311cdee3 From Loic Dachary, added getFileName method 2004-11-14 21:08:10 +00:00
Robert Osfield
ddb0d6bd4f Added prelimarny support for reading archives via the .net plugin 2004-11-13 16:21:48 +00:00
Robert Osfield
f30146a9fe From Stephane Simon, added missing OSGDB_EXPORT to osgDB::openArchive functions 2004-11-11 22:26:07 +00:00
Robert Osfield
6f96cf4ad2 Moved the .osga implementation into the src/osgPlugins/osga plugin and made
osgDB::Archive a pure virtual base class.
2004-11-11 13:22:55 +00:00
Robert Osfield
9fcda76143 Fixed uninitialized variable. 2004-11-10 22:11:28 +00:00
Robert Osfield
141c3cadbf Set the pos_type and size_type explictly to 8 byte types. 2004-11-10 21:52:30 +00:00
Robert Osfield
3523577235 Added check for endianess of .osga archives 2004-11-10 21:18:31 +00:00
Robert Osfield
4973824b1d Added new osga plugin for reading OSG native archives 2004-11-10 16:40:08 +00:00
Robert Osfield
2db9dc2e60 Moved the ReadFunctor to protected section. 2004-11-10 13:47:22 +00:00
Robert Osfield
4e19c03de1 Added support for master file and clean up Archive API. 2004-11-10 13:03:52 +00:00
Robert Osfield
564869487a Added support of archiving into osgTerrain::DataSet and osgdem. 2004-11-09 14:18:29 +00:00
Robert Osfield
72b7e08d93 From Stephane ???, fixes for VS.NET build 2004-11-08 16:39:32 +00:00
Robert Osfield
d26c8460dc Updates to osgDB::Archive support, and refactoring of implementation of
reading files in Registry to faciliate the new archiving support.
2004-11-08 16:11:07 +00:00
Robert Osfield
f84f8d87e0 Added support for openArchive into osgDB 2004-11-07 21:17:31 +00:00
Robert Osfield
f44ecb1f65 Fixed insertion of files into an existing archive 2004-11-07 12:13:56 +00:00
Robert Osfield
8d6aa8b405 Further work on osgDB::Archive 2004-11-06 21:18:19 +00:00
Robert Osfield
c691860b5c Improved handling of uflow and underflow() in proxy_streambuf, and change
unsigned char* to char* to avoid stoooopid VS6.0 compile errors
2004-11-02 21:04:14 +00:00
Robert Osfield
ffca165611 Added prelimanary prox stream buffer to fake the ending of file. 2004-11-02 17:05:15 +00:00
Robert Osfield
2b8140e125 Added support for listing contents of archive 2004-10-28 14:27:41 +00:00
Robert Osfield
90e5586777 Updates to osgDB::Archive, and IVE plugin to support usage via the Archive. 2004-10-28 12:16:47 +00:00
Robert Osfield
61b0f5d301 Added IndexBlock inner class to osgDB::Archive 2004-10-27 14:09:24 +00:00
Robert Osfield
676f204cdb Updates to osgDB::Archive 2004-10-26 18:29:27 +00:00
Robert Osfield
1f5b044c71 Made ReaderWriter::className const 2004-10-26 10:26:43 +00:00
Robert Osfield
66836ef3d0 Added new osgDB::Archive class, and osgarchive example. These are both
very early beginnings so do not function yet.
2004-10-25 19:16:38 +00:00
Robert Osfield
d734d6d532 Added osgDB::Archive 2004-10-24 14:24:15 +00:00
Robert Osfield
38a0e6bf4e Added support for parsing http:// names and mapping automatically to use
the .net plugin
2004-10-06 13:11:04 +00:00
Robert Osfield
7e4d34c57a Added :
osg::PagedLOD::s/getDatabasePath() and support in PagedLOD::traverse().
    osgDB::ReaderWriter::Options::s/getDatabasePath()
    osgDB::Input::s/getOptions()
    setting of osgDB::Input::setOptions() in ReaderWriterOSG.cpp
    src/osgPlugins/ive/DataInputStream::s/getOptions()
    setting of src/osgPlugins/ive/DataInputStream::setOptions() in ReaderWriterIVE.cpp
2004-10-06 09:31:34 +00:00
Robert Osfield
c0752beef4 From Tree, moved apply's from protected to public to support Java wrappers 2004-10-01 09:40:06 +00:00
Robert Osfield
5747773096 From Tree, changes to better support Java binding generation 2004-09-28 09:14:04 +00:00
Robert Osfield
0c24cf48b8 Added a mutex and _numFramesActive count to track multiview usages of
the DatabasePager.
2004-09-28 08:39:46 +00:00
Robert Osfield
22bb35f4f1 Fixed typo 2004-09-23 20:13:16 +00:00
Robert Osfield
1b31024cd5 Clean up of new DatabasePager code, and change of osgProducer so that
DatabasePager support is now integrated into the OsgSceneHandler.
2004-09-23 18:50:38 +00:00
Robert Osfield
54b45ce3bc Updated to DatabasePager support 2004-09-21 21:33:52 +00:00
Robert Osfield
0d884d66eb Various improvements to database paing. 2004-09-21 17:26:08 +00:00
Robert Osfield
0750a19aa6 Added clear(), setDatabasePagerThreadPause() and setAcceptNewDatabaseRequests() methods
and new local implementation of cancel().
2004-09-19 20:09:54 +00:00
Robert Osfield
8bce22343b Various improvements to the DatabasePager with the aim to achieve
constant framerates and minimizing memory consumption.
2004-09-18 19:28:45 +00:00
Robert Osfield
9dc35ce47a Added mutex to access to the Registry::_objectCache. 2004-09-06 18:20:38 +00:00
Robert Osfield
ac6d25a840 Added Don's new osgDB::makeDirectory() code FileUtils. 2004-09-01 14:49:18 +00:00
Robert Osfield
255c27d552 Added a new osgDB::appendPlatformSpecificLibraryFilePaths() method to FileUtils.cpp
Includes a new OSX code from Eric Wing
2004-08-27 16:14:21 +00:00
Robert Osfield
796e6bb50a Added docs for CacheObjectHints 2004-08-13 13:46:47 +00:00
Robert Osfield
7eb3f2646e From Norman Vine (with small tweaks by Robert Osfield), build fixes for Cygwin 2004-08-04 08:27:43 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
aa833acfd3 Added support for releasing GLObjects, and renamed DisplayListVisitor the
GLObjectVisitor to better fit its function, and added support for releasing
objects as well as compiling them.
2004-07-20 05:37:59 +00:00
Robert Osfield
f8daf206ab Improved support for new double Vec* classes 2004-05-20 12:57:06 +00:00
Robert Osfield
f02c75f5ea Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and Vec4 to
Vec2f, Vec3f an Vec4f respectively, with typedef's to the from Vec* to Vec*f.
2004-05-20 10:15:48 +00:00
Robert Osfield
3d3199017e From Ken Sewel, added osgDB::fileType(filename) method and usage of this
new function in osgdem to automatcally handle directories as part of the
regular -d and -t options.
2004-05-08 06:35:32 +00:00
Robert Osfield
26f80f1341 From Marco Jez, replacement of local mutex lock/unlock with ScopedLock. 2004-05-07 19:55:12 +00:00
Robert Osfield
bdeb391a00 From Mike Weiblen, added new rot, scale and trans pseudo loaders. 2004-05-07 15:18:59 +00:00
Robert Osfield
aec98259a8 Added support for osgDB::ReaderWriter::ReadResult::FILE_LOADED_FROM_CACHE 2004-05-07 13:43:41 +00:00
Robert Osfield
7d5e44205d Fixed bogus read*Implementation calls in ReadFileCallback. 2004-04-13 16:03:18 +00:00
Robert Osfield
2a6e155d03 From Alberto Farre, changed the cache hint option in read*() calls from being
a bool to a enum osgDB::Registru::CacheHintOptions to be used a bit mask flag.

From Robert Osfied, added osgDB::Registry::ReadFileCallback and
osgDB::Registry::WriteFileCallback to allow customizition of read and write
calls.
2004-04-10 16:11:56 +00:00
Robert Osfield
2efea80728 From Nathan Cournia, fix to = operator, was eroneous written as an == operator. 2004-04-05 09:00:37 +00:00
Robert Osfield
4aa7afedf3 Removed include <iostream> where possible, replacing with istream or ostream and changing
std::cout/cerr to osg::notify().
2004-03-03 13:27:21 +00:00
Robert Osfield
43df3b90ef Fixed problems with the DatabasePager free of texture objects and display
list before they are finished with.
2004-01-27 14:49:59 +00:00
Robert Osfield
edce2211fa From Romano Magacho, fixes to handle the subloading from Image when the
internal format changes requiring a rebuild of the texture object.
2004-01-23 13:25:45 +00:00
Robert Osfield
84737941e1 Added controls over the datatbase pager threading priority during and outwith the frame. 2004-01-22 10:42:32 +00:00
Robert Osfield
23443aa5db From Alberto Farre, added osgDB::SharedStateManager. Also a couple of
ammendments by Robert Osfield, adding get/setSharedStateManager()
methods into osgDB::Registry, and clean up fixes in SharedStateManager
for the StateSet arrays.
2004-01-10 17:13:20 +00:00
Robert Osfield
2f918d62d7 Added DatabasePager::setUseFrameBlock(bool) method 2004-01-07 12:37:44 +00:00
Robert Osfield
894537a016 Simplified the API for using the DatabasePager, by providing a single
DatabasePager::updateSceneGraph(..) method, and added a ref_ptr<> into
osDB::Registry for managing a single DatabasePager in a centralised way.
2004-01-06 21:18:36 +00:00
Robert Osfield
0cbe10d399 From Michael Gronager, with updates from Robert Osfield, to add support
for Registry::closeAllLibrary and forced Registry destruction via
Registry::instance(true).
2003-12-13 16:36:29 +00:00
Robert Osfield
5011d994e8 Added a special AvailablerReaderWriterIterator class to handle the task
of iterating through the list of available reader writer, whilst handling
cases where the list itself changes size during iteration through the list.
Previous size changes during iteration was cause invalid iterators, which
in turn was causing a crash.
2003-12-10 15:24:14 +00:00
Robert Osfield
f5a79aec4e Added get() method to ReaderWriterProxy class to allow the readerwriter to
be obtained once its constructed.
2003-12-09 12:07:41 +00:00
Robert Osfield
83bf813e58 Moved the responsibility for finding file to load on to the ReaderWriter plugins,
instead of osgDB::Registry where it original lay.  This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
2003-12-08 11:24:43 +00:00
Robert Osfield
78a0fd5a16 Added support for case insenstive searches of the filepaths. 2003-11-25 09:04:41 +00:00
Robert Osfield
f1c4dc3b0d Updates for osgdem. Including new read/writeHeightField() methods. 2003-10-29 11:11:17 +00:00
Robert Osfield
eb4ee3afad *** empty log message *** 2003-10-27 16:07:21 +00:00
Robert Osfield
ea04f48251 Moved Producer::Block temporarily into osgDB to ensure that osgDB isn't dependent
on Producer.
2003-10-12 14:51:54 +00:00
Robert Osfield
42eb39ef37 Improvements to the DatabasePager 2003-10-12 12:13:58 +00:00
Robert Osfield
fad832425f Improvements to DatabasePager 2003-10-10 19:25:14 +00:00
Robert Osfield
83816dac04 Added ImageOptions for use with the GDAL plugin 2003-10-08 14:24:13 +00:00
Robert Osfield
82143f7553 Added osgDB::Registry::s/getUseObjectCacheHint() 2003-10-02 13:26:01 +00:00
Robert Osfield
facbdcf43b Added addEntryToObjectCache method to osgDB::Registry 2003-10-01 13:12:25 +00:00
Robert Osfield
e693f148cb Made osg::Quat support either float or double internal representation, defaulting to double.
Generalised the osgDB::Field so that its getFloat() method can be used with either doubles or
floats governed by the type passed in - this helps support either float/double
Quat and Matrix classes seemlessly.
2003-09-29 13:35:02 +00:00
Robert Osfield
12133c6db5 Made getLibrary public. 2003-08-21 19:23:24 +00:00
Robert Osfield
1a68dd80d7 Added explicit calls cancel and wait until thread and no longer running to the
DatabasePager and TXP pager.
2003-08-20 12:52:33 +00:00
Robert Osfield
4b7bde1440 Removed the deprecated NodeVisitor::getLocalToWorld/WorldToLocal methods as
this are replaced by the osg::computeLocalToWorld/WorldToLocal() functions
found in osg/Transform.

Made the ReleaseTextureAndDisplayListsVisitor a public nested class of
osgDB::DatabasePager to allow it to be used in the TXP plugin, and added
usage of this visitor to the TXP plugin to make sure that textures and
display lists are released during the update thread.
2003-08-14 00:05:34 +00:00
Robert Osfield
aa8b552ca6 From Marco, updates to osgDB and .osg plugin to better handle reading of
objects of specified types.
2003-07-21 18:36:47 +00:00
Robert Osfield
325dc0f6b7 Moved DatabasePager into from osgProducer into osgDB. This means that osgDB
is now dependant on OpenThreads.
2003-07-21 08:19:36 +00:00
Robert Osfield
5b75d7f525 From Michael Gronger, addition of ReaderWriter* Registry::getReaderWriterForExtension(const std::string& ext).
Also removed copy constructor and = operator from Ouput as it was produce
spurious warnings under gcc 3.3.
2003-07-10 13:35:19 +00:00
Robert Osfield
7b657aed3a Adding support using istream and ostream with the reader writers. 2003-05-26 09:27:16 +00:00
Robert Osfield
6b64cd88b8 Removed superfluous const 2003-05-17 08:36:25 +00:00
Robert Osfield
96b72af169 Implemented a object cache in osgDB::Registry. 2003-03-17 22:53:46 +00:00
Robert Osfield
e87a08f1c3 Fixes to osgcluster demo as new Producer based example.
Added extra pragrma remove a warning about float to int cast under VS.NET.
2003-03-16 21:58:27 +00:00
Robert Osfield
2ca505b3d8 Ported all glut based demos across to using the new osg::ArgumentParser. 2003-03-14 10:49:06 +00:00
Don BURNS
ec3e1dc611 Fixes for Mac OS X 2003-03-13 06:22:31 +00:00
Robert Osfield
06fb808ad3 Improvements to the Text .osg support. 2003-03-10 16:40:26 +00:00
Robert Osfield
ebbd03c114 Marged new getLibaryMethod added by Daniel. 2003-03-10 11:57:17 +00:00
Robert Osfield
c10d5f2d6f Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline
application/example developement.
2003-02-18 16:36:42 +00:00
Robert Osfield
8f1ba9d21b Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
any reference to these in the distribution across to using unsigned char,
unsigned short etc.  This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
c2b4a05825 Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.
Fix to CullVisior to handle the new no referenced counted cull and draw traversal.
2003-02-10 13:58:39 +00:00
Robert Osfield
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
e0074d7c44 Made the osgDB::ParamterOutput class so that it is purely defined in terms
of the header, and therefore not requiring to be exported.

Updated the MUSE_READ_ME.txt to include mention of syntax highlighting.
2003-01-15 20:50:12 +00:00
Robert Osfield
ef7d7fce2e Moved some in inline methods in ParamterOutput into the new ParamterOutput.cpp
file to clean up the interface.
2003-01-11 12:50:39 +00:00
Robert Osfield
f36bc69c58 Made the more of the OSG's referenced object desctructors protected to ensure
that they arn't created on the stack inappropriately.

Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack.  To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00
Robert Osfield
ba34880464 Added support for reading and writing Sphere, Box, Cone, Cylinder and Grid shapes. 2003-01-08 14:32:13 +00:00
Robert Osfield
00cc3a1833 Converted the instance of osgNew and osgDelete back to new and delete as part
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Robert Osfield
db7cc1c559 Disabled the MemoryManager in all builds since it isn't yet thread safe. 2002-12-14 07:55:29 +00:00
Robert Osfield
b0c4256e90 Norman Vine's changes for gcc 3.2 under Cygwin, moving of SG_EXPORT to after
the extern declaration.
2002-12-05 12:43:08 +00:00
Robert Osfield
32c6a7809a Updated the handling of string in the .osg reading and writing so that it
handles the use of " quotes inside the string.
2002-10-28 12:55:19 +00:00
Robert Osfield
12226e4371 Converted the instances of const built in types being returned from methods
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00
Robert Osfield
48b3be40e9 Various fixes to constructors to ensure that all variables are initialized. 2002-07-20 23:54:55 +00:00
Robert Osfield
3a964a6b93 Updated docs and added osgGA 2002-07-16 20:07:32 +00:00
Robert Osfield
6767dd49d0 Rewrote the FileUtils support for data and library file paths, moving the
storage of the path lists into osgDB::Registry, and changed the data
structor from a char* to a std::deque.  Changed a names of couple of the
convinience functions in osgDB/FileUtils to better reflect the two
public FilePathList's - DataFilePathList and the LibraryFilePathList.

Added support into the osgDB::Registry::readNode/Image/Object methods
for pushing and popping the path of the current file being loaded.
2002-06-17 21:50:37 +00:00
Robert Osfield
f8502a076c Added support for NodeKits to the osgDB::Registry. Object names in .osg
files which have the library::class syntax will automatically invoke
the dynamic loading of either a nodekit or database plugin.
2002-06-07 10:03:49 +00:00
Robert Osfield
a5a267d305 Added pragma to disable warning under VisualStudio.NET. 2002-05-28 16:11:49 +00:00
Robert Osfield
e73d4ca5b3 Changes for Cygwin build, sent in by Norman Vine. 2002-05-28 11:40:37 +00:00
Robert Osfield
84d2d01163 Added support for osg::MemoryManager which is based upon Paul Nettle's
memory manager published at flipcode.com.  This can be turned on
with the OSG_USE_MEMORY_MANGER option which then uses custom global
new and delete operators as well as provide osgNew and osgDelete macro's
which add ability to log line and file from which calls are made.

Updated osg,osgUtil,osgDB,osgText and osgPlugins/osg to use osgNew/osgDelete,
and fixed memory leaks highlighted by the new memory manager.
2002-03-26 23:52:52 +00:00
Robert Osfield
8656adb463 Added a Referenced::unref_nodelete() method which unreferences but does
not delete the object even if its count goes to 0 or below.  This should
only be called in special circumstances, the ReaderWriter::ReadResult
being one of them. This new method has allowed the problem of objects
being multiple referenced on return from readNodeFile() & readImageFile().
2002-03-20 14:03:30 +00:00
Robert Osfield
2973ca0a25 Added support for setting the maximum number of graphics contexts that the
OSG has to maintian.
2002-02-28 00:11:31 +00:00
Robert Osfield
00e91eec1d Add support for Metrowerks Codewarrior build under Windows. 2002-02-22 17:12:10 +00:00
Robert Osfield
c1283c23e8 Removed the trailing ; after namespace {...} declariations in headers
which was being picked as a warning under Codewarrior.
2002-02-03 12:33:41 +00:00
Robert Osfield
0c63a4b65d Added defined( __BCPLUSPLUS__) to windows export code segments. 2002-02-02 20:07:59 +00:00
Robert Osfield
9a6a96a7e7 Fixed the header guard, which was using the name define as FileUtils.
Problem spotted by Terry Welsh.
2002-01-29 12:55:23 +00:00
Robert Osfield
604110b245 Updates to help compilation under gcc 3.03. 2002-01-20 16:24:54 +00:00
Robert Osfield
e3ad8a87ee Updates for Cygwin port, from Norman Vine. 2002-01-03 21:34:57 +00:00
Robert Osfield
296865e250 Adding support for controlling visual settings via environmental variables
and command line paramters.  Including support for stereo and stencil buffer.
2001-12-19 00:38:23 +00:00
Robert Osfield
478274ae7d Fixes to Windows build in liu of the move to using just std::streams. 2001-12-14 23:18:28 +00:00
Robert Osfield
b1f478e5d2 Updated OSG so that the old OSG_USE_IO_DOT_H has be removed from all headers
that used it, all references to the Standard C++ stream classes use the
std::ostream etc convention, all references to "using namespace std" and
"using namespace std::ostream etc" have been removed.
2001-12-14 21:49:04 +00:00
Robert Osfield
6070a9e1b1 Updatedwidley used includes to remove most of the float/double warnings
generated when compiling under Windows with STLport.
2001-12-14 18:06:34 +00:00
Robert Osfield
84605a5f4e Fixes for Win32 build related to changes in using namespace std. 2001-12-14 10:47:20 +00:00
Robert Osfield
a4e4d4fa7c Removed all references to using namespace std to help solve compilation problems
under Windows and IRIX.

Also integrated small change to lib3ds from Drew for IRIX compilation.
2001-12-14 10:02:27 +00:00
Robert Osfield
a434abafd7 Fixes for IRIX build.
Updates to the osg::Transform, adding preMult and postMult methods and
deprecating the old preRotate,preTranslate,preScale.

Updated the rest of the OSG so that it nolonger uses the deprecated
osg::Transform nodes.

Renamed osgUtil::SceneView::setGlobalState() to
osgUtil::SceneView::setGlobalStateSet() so that the name reflects its
functionality better.  Updated osgGLUT::Viewer etc to cope with new
name change.
2001-11-14 14:09:07 +00:00
Robert Osfield
8f4e62ced0 Further updates to the ReaderWriter support in osgDB, and a fix to a small warning
in Matrix.cpp.
2001-10-30 19:23:24 +00:00
Robert Osfield
f0372817b5 Added support for ReadResult and WriteResult to the osgDB::ReaderWriter
to allo plugins to pass back more information about the success or failure
of a file load.  All plugins have been updated to the new convention.
2001-10-30 14:20:37 +00:00
Robert Osfield
939b12a908 Updates of osgDB/FileUtils to fix compilation problems under Win32 2001-10-24 19:48:58 +00:00
Robert Osfield
573f68c35b Updates to osgText. 2001-10-24 13:46:58 +00:00
Robert Osfield
06dafa487e Added osgDB::ReaderWriter::Options class to the ReaderWriter base class, support
for settings options in osgDB::Registry, and added the paramter to all of the
reaader/writer plugins.  The Options structure by default has an string attached
for packing basic options, however, it also can be subclassed to encapsulate
any users defined option data. In the later case both the client code *and*
the plugin need to be aware of subclass, the plugin will need to use
dynamic_cast<> to assertain its type.
2001-10-14 17:54:25 +00:00
Robert Osfield
9917b6500d Added a copyright notice to all core headers, which all begin with
//C++ header to help scripts and editors pick up the fact that the
file is a header file.
2001-10-04 15:12:57 +00:00
Robert Osfield
57fd2b4bcb *** empty log message *** 2001-09-28 12:36:40 +00:00
Don BURNS
e8f256a59d Added a bunch of files synched with 0.8.42 2001-09-19 21:08:56 +00:00