Files
OpenSceneGraph/src/osgPlugins/dae
Robert Osfield 232bda3828 From Oren Fromberg, ""
--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
2012-10-08 11:54:40 +00:00
..
2012-10-08 11:54:40 +00:00
2012-10-08 11:54:40 +00:00
2012-10-08 11:54:40 +00:00
2012-10-08 11:54:40 +00:00

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.