--This line, and thosAttached is an update to ReaderWriterDAE.cpp/h and daeReader.cpp/h that implements osgDB::ReaderWriter::ReadResult ReaderWriterDAE::readNode (std::istream&, const osgDB::ReaderWriter::Options*) This virtual function had never been implemented in ReaderWriterDAE. I implemented this function because the DAE plugin could not load files from other ReaderWriter derived objects that use protocol handlers. I have updated function declarations in the header to have identical signatures with the base class declarations that include the default parameter. readNode (std::istream&, …) is nearly identical to readNode(const std::string &, …) except it uses a new private function to convert the file from standard input: bool daeReader::convert( std::istream& fin ) When this function is called fileURI is the string “from std::istream” to make the user aware where the file is coming from. Then instead of calling _dae->open(fileURI) we call _dae->openFromMemory(fileURI, buffer.data()) Where buffer.data() is a pointer to the dae file text in memory. Other changes include private functions to clear caches and to consolidate redundant code that appears between the two convert functions. e below, will be ignored-- M src/osgPlugins/dae/ReaderWriterDAE.cpp M src/osgPlugins/dae/daeReader.cpp M src/osgPlugins/dae/ReaderWriterDAE.h M src/osgPlugins/dae/daeReader.h
osgPlugins/dae/README.txt - Mike Weiblen http://mew.cx/
OSG reader/writer plugin for the COLLADA digital asset exchange (DAE) schema.
See http://collada.org/ and http://khronos.org/collada/ for further info.
RUNTIME USAGE EXAMPLES
osgviewer myFile.dae
osgconv myFile.osg myFile.dae
RUNTIME PLUGIN OPTIONS
Import Options
--------------
none
Export Options
--------------
polygon : export polygons as COLLADA polygons instead of polylists.
This option can be used for if polylists are not supported.
ex : osgconv -O polygon myFile.osg myFile.dae
BUILD DEPENDENCIES
- COLLADA DOM (document object model) v1.4.1
http://collada.org/mediawiki/index.php/DOM_guide:_Setting_up
- libxml2
- iconv
A standard "ccmake ." while in the root of the OSG source will expose
two CMake variables: COLLADA_INCLUDE_DIR and COLLADA_LIBRARY. Using
these two variables correctly can be a bit tricky (especially as
the "right" and "wrong" ways to use Collada are hard to define), but
I will briefly explain them below.
COLLADA_INCLUDE_DIR: This variable wants the path where it can
find the COLLADA headers. On most systems this will be something
like /usr/include or /usr/include/collada.
COLLADA_LIBRARY: This variable is asking for the FULL PATH to the
file libcollada_dom.a. As long as it can find this file, the
OSG Collada ReaderWriter should build just fine.