From: <br...@us...> - 2008-11-18 09:40:06
|
Revision: 3800 http://openvrml.svn.sourceforge.net/openvrml/?rev=3800&view=rev Author: braden Date: 2008-11-18 09:40:00 +0000 (Tue, 18 Nov 2008) Log Message: ----------- Moved the X3D CAD Geometry node implementations to a dlopen'd library. Modified Paths: -------------- branches/node-modules/src/Makefile.am branches/node-modules/src/libopenvrml/openvrml/browser.cpp Added Paths: ----------- branches/node-modules/src/node/x3d-cad-geometry/register_node_metatypes.cpp Removed Paths: ------------- branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.cpp branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.h Modified: branches/node-modules/src/Makefile.am =================================================================== --- branches/node-modules/src/Makefile.am 2008-11-18 09:39:26 UTC (rev 3799) +++ branches/node-modules/src/Makefile.am 2008-11-18 09:40:00 UTC (rev 3800) @@ -3,8 +3,6 @@ BUILT_SOURCES = lib_LTLIBRARIES = libopenvrml/libopenvrml.la -noinst_LTLIBRARIES = \ - node/x3d-cad-geometry/libx3d-cad-geometry.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -38,8 +36,7 @@ libopenvrml/openvrml/viewer.h \ libopenvrml/openvrml/rendering_context.h \ libopenvrml/openvrml/frustum.h \ - libopenvrml/openvrml/node_impl_util.h \ - libopenvrml/openvrml/x3d_cad_geometry.h + libopenvrml/openvrml/node_impl_util.h if ENABLE_GL_RENDERER openvrml_gl_includedir = $(pkgincludedir)/openvrml/gl @@ -101,7 +98,6 @@ libopenvrml/openvrml/rendering_context.cpp \ libopenvrml/openvrml/frustum.cpp \ libopenvrml/openvrml/node_impl_util.cpp \ - libopenvrml/openvrml/x3d_cad_geometry.cpp \ libopenvrml/openvrml/local/dl.cpp \ libopenvrml/openvrml/local/dl.h \ libopenvrml/openvrml/local/uri.cpp \ @@ -119,7 +115,6 @@ $(PTHREAD_LIBS) libopenvrml_libopenvrml_la_LIBADD = \ - node/x3d-cad-geometry/libx3d-cad-geometry.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -179,7 +174,8 @@ node/x3d-environmental-effects.la \ node/x3d-geospatial.la \ node/x3d-h-anim.la \ - node/x3d-nurbs.la + node/x3d-nurbs.la \ + node/x3d-cad-geometry.la node_vrml97_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ @@ -630,16 +626,19 @@ -module \ -avoid-version -node_x3d_cad_geometry_libx3d_cad_geometry_la_CPPFLAGS = \ +node_x3d_cad_geometry_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml -node_x3d_cad_geometry_libx3d_cad_geometry_la_CXXFLAGS = \ +node_x3d_cad_geometry_la_CXXFLAGS = \ $(PTHREAD_CFLAGS) -node_x3d_cad_geometry_libx3d_cad_geometry_la_SOURCES = \ +node_x3d_cad_geometry_la_SOURCES = \ node/x3d-cad-geometry/cad_face.cpp \ node/x3d-cad-geometry/cad_face.h \ node/x3d-cad-geometry/indexed_quad_set.cpp \ node/x3d-cad-geometry/indexed_quad_set.h +node_x3d_cad_geometry_la_LDFLAGS = \ + -module \ + -avoid-version libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ Modified: branches/node-modules/src/libopenvrml/openvrml/browser.cpp =================================================================== --- branches/node-modules/src/libopenvrml/openvrml/browser.cpp 2008-11-18 09:39:26 UTC (rev 3799) +++ branches/node-modules/src/libopenvrml/openvrml/browser.cpp 2008-11-18 09:40:00 UTC (rev 3800) @@ -23,7 +23,6 @@ # include "scene.h" # include "scope.h" # include "x3d_vrml_grammar.h" -# include "x3d_cad_geometry.h" # include <openvrml/local/dl.h> # include <openvrml/local/uri.h> # include <openvrml/local/xml_reader.h> @@ -4308,13 +4307,6 @@ * <code>node</code>'s ancestors. */ -namespace { - void OPENVRML_LOCAL register_node_metatypes(openvrml::browser & b) - { - register_cad_geometry_node_metatypes(b); - } -} - /** * @brief Constructor. * @@ -4350,7 +4342,6 @@ { assert(this->active_viewpoint_); assert(this->active_navigation_info_); - register_node_metatypes(*this); } /** @@ -4760,7 +4751,6 @@ // Create the new scene. // this->node_metatype_registry_.reset(new node_metatype_registry(*this)); - register_node_metatypes(*this); this->scene_.reset(new scene(*this)); scene_lock.demote(); Deleted: branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.cpp =================================================================== --- branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.cpp 2008-11-18 09:39:26 UTC (rev 3799) +++ branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.cpp 2008-11-18 09:40:00 UTC (rev 3800) @@ -1,40 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// Copyright 2006, 2007, 2008 Braden McDaniel -// -// This library is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "browser.h" -# include "x3d_cad_geometry.h" -# include <x3d-cad-geometry/cad_face.h> -# include <x3d-cad-geometry/indexed_quad_set.h> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -void register_cad_geometry_node_metatypes(openvrml::browser & b) -{ - using openvrml::node_metatype; - using boost::shared_ptr; - using namespace openvrml_node_x3d_cad_geometry; - b.add_node_metatype(cad_face_metatype::id, - shared_ptr<node_metatype>(new cad_face_metatype(b))); - b.add_node_metatype(indexed_quad_set_metatype::id, - shared_ptr<node_metatype>( - new indexed_quad_set_metatype(b))); -} Deleted: branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.h =================================================================== --- branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.h 2008-11-18 09:39:26 UTC (rev 3799) +++ branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.h 2008-11-18 09:40:00 UTC (rev 3800) @@ -1,30 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// Copyright 2006, 2007 Braden McDaniel -// -// This library is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# ifndef OPENVRML_X3D_CAD_GEOMETRY_H -# define OPENVRML_X3D_CAD_GEOMETRY_H - -namespace openvrml { - class browser; -} - -extern "C" void register_cad_geometry_node_metatypes(openvrml::browser & b); - -# endif Copied: branches/node-modules/src/node/x3d-cad-geometry/register_node_metatypes.cpp (from rev 3798, branches/node-modules/src/libopenvrml/openvrml/x3d_cad_geometry.cpp) =================================================================== --- branches/node-modules/src/node/x3d-cad-geometry/register_node_metatypes.cpp (rev 0) +++ branches/node-modules/src/node/x3d-cad-geometry/register_node_metatypes.cpp 2008-11-18 09:40:00 UTC (rev 3800) @@ -0,0 +1,50 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// Copyright 2006, 2007, 2008 Braden McDaniel +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, see <http://www.gnu.org/licenses/>. +// + +# include "cad_face.h" +# include "indexed_quad_set.h" +# include <openvrml/browser.h> + +# ifdef HAVE_CONFIG_H +# include <config.h> +# endif + +extern "C" +# ifdef _WIN32 +__declspec(dllexport) +# else +OPENVRML_API +# endif +void +openvrml_register_node_metatypes(openvrml::node_metatype_registry & registry) +{ + using openvrml::node_metatype; + using boost::shared_ptr; + using namespace openvrml_node_x3d_cad_geometry; + + openvrml::browser & b = registry.browser(); + + registry.register_node_metatype( + cad_face_metatype::id, + shared_ptr<node_metatype>(new cad_face_metatype(b))); + registry.register_node_metatype( + indexed_quad_set_metatype::id, + shared_ptr<node_metatype>(new indexed_quad_set_metatype(b))); +} Property changes on: branches/node-modules/src/node/x3d-cad-geometry/register_node_metatypes.cpp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:mergeinfo + /branches/0.17/src/libopenvrml/openvrml/x3d_cad_geometry.cpp:3713,3717,3719,3721,3725,3730,3732 /branches/local/src/libopenvrml/openvrml/x3d_cad_geometry.cpp:3677-3689 /trunk/src/libopenvrml/openvrml/x3d_cad_geometry.cpp:3401-3734 Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |