You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(128) |
Dec
(65) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(48) |
Feb
(132) |
Mar
(95) |
Apr
(47) |
May
(54) |
Jun
(2) |
Jul
(57) |
Aug
(109) |
Sep
(131) |
Oct
(186) |
Nov
(105) |
Dec
(78) |
2007 |
Jan
(125) |
Feb
(105) |
Mar
(52) |
Apr
(104) |
May
(63) |
Jun
(116) |
Jul
(76) |
Aug
|
Sep
(18) |
Oct
(93) |
Nov
(110) |
Dec
(169) |
2008 |
Jan
(90) |
Feb
(64) |
Mar
(41) |
Apr
(23) |
May
(6) |
Jun
(18) |
Jul
(10) |
Aug
(61) |
Sep
(139) |
Oct
(50) |
Nov
(55) |
Dec
(2) |
2009 |
Jan
|
Feb
(1) |
Mar
(62) |
Apr
(22) |
May
(17) |
Jun
(19) |
Jul
(40) |
Aug
(21) |
Sep
|
Oct
(40) |
Nov
(23) |
Dec
|
2010 |
Jan
(14) |
Feb
(40) |
Mar
(9) |
Apr
(11) |
May
(19) |
Jun
(4) |
Jul
(10) |
Aug
(22) |
Sep
(15) |
Oct
|
Nov
(2) |
Dec
|
2011 |
Jan
(13) |
Feb
(10) |
Mar
|
Apr
(13) |
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(33) |
May
(20) |
Jun
|
Jul
(8) |
Aug
(7) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Braden M. <br...@us...> - 2006-08-02 03:20:12
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17441/src/libopenvrml Modified Files: private.h Log Message: Changed fequal, fless_equal, and fgreater_equal to be instances of types that have a template operator(). Index: private.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/private.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** private.h 18 Feb 2006 05:41:57 -0000 1.10 --- private.h 2 Aug 2006 03:20:02 -0000 1.11 *************** *** 115,121 **** } ! template <typename Float> ! struct OPENVRML_LOCAL fequal : ! std::binary_function<Float, Float, bool> { bool operator()(Float a, Float b) const { --- 115,120 ---- } ! struct OPENVRML_LOCAL fequal_t { ! template <typename Float> bool operator()(Float a, Float b) const { *************** *** 130,151 **** }; ! template <typename Float> ! struct OPENVRML_LOCAL fless_equal : ! std::binary_function<Float, Float, bool> { bool operator()(Float a, Float b) const { ! return a < b || fequal<Float>()(a, b); } }; ! template <typename Float> ! struct OPENVRML_LOCAL fgreater_equal : ! std::binary_function<Float, Float, bool> { bool operator()(Float a, Float b) const { ! return a > b || fequal<Float>()(a, b); } }; class OPENVRML_LOCAL scope_guard_impl_base { --- 129,154 ---- }; ! const fequal_t fequal = fequal_t(); ! ! struct OPENVRML_LOCAL fless_equal_t { ! template <typename Float> bool operator()(Float a, Float b) const { ! return a < b || fequal(a, b); } }; ! const fless_equal_t fless_equal = fless_equal_t(); ! ! struct OPENVRML_LOCAL fgreater_equal_t { ! template <typename Float> bool operator()(Float a, Float b) const { ! return a > b || fequal(a, b); } }; + const fgreater_equal_t fgreater_equal = fgreater_equal_t(); + class OPENVRML_LOCAL scope_guard_impl_base { |
From: Braden M. <br...@us...> - 2006-08-02 03:20:12
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17441 Modified Files: ChangeLog Log Message: Changed fequal, fless_equal, and fgreater_equal to be instances of types that have a template operator(). Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1285 retrieving revision 1.1286 diff -C2 -d -r1.1285 -r1.1286 *** ChangeLog 30 Jul 2006 05:52:26 -0000 1.1285 --- ChangeLog 2 Aug 2006 03:20:02 -0000 1.1286 *************** *** 1,2 **** --- 1,13 ---- + 2006-08-01 Braden McDaniel <br...@en...> + + Changed fequal, fless_equal, and fgreater_equal to be instances of + types that have a template operator(). + + * src/libopenvrml/private.h + * src/libopenvrml/openvrml/Vrml97Parser.g + * src/libopenvrml/openvrml/basetypes.cpp + * src/libopenvrml/openvrml/bounding_volume.cpp + * src/libopenvrml/openvrml/vrml97node.cpp + 2006-07-30 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-07-30 05:52:30
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10544/src/libopenvrml/openvrml Modified Files: script.cpp Log Message: Quelled unused variable warning from gcc. Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** script.cpp 18 May 2006 07:09:57 -0000 1.74 --- script.cpp 30 Jul 2006 05:52:27 -0000 1.75 *************** *** 4382,4386 **** JSBool createVrmlFromURL(JSContext * const cx, ! JSObject * const obj, const uintN argc, jsval * const argv, --- 4382,4386 ---- JSBool createVrmlFromURL(JSContext * const cx, ! JSObject *, const uintN argc, jsval * const argv, |
From: Braden M. <br...@us...> - 2006-07-30 05:52:30
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10544 Modified Files: ChangeLog Log Message: Quelled unused variable warning from gcc. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1284 retrieving revision 1.1285 diff -C2 -d -r1.1284 -r1.1285 *** ChangeLog 28 Jul 2006 07:11:10 -0000 1.1284 --- ChangeLog 30 Jul 2006 05:52:26 -0000 1.1285 *************** *** 1,2 **** --- 1,8 ---- + 2006-07-30 Braden McDaniel <br...@en...> + + * src/libopenvrml/openvrml/script.cpp + (js_::Browser::createVrmlFromURL(JSContext *, JSObject *, uintN, + jsval *, jsval *)): Quelled unused variable warning from gcc. + 2006-07-28 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-07-28 07:11:13
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21523 Modified Files: ChangeLog Log Message: Added test to confirm that EXTERNPROTOs can be loaded in browser::create_vrml_from_stream. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1283 retrieving revision 1.1284 diff -C2 -d -r1.1283 -r1.1284 *** ChangeLog 28 Jul 2006 07:04:18 -0000 1.1283 --- ChangeLog 28 Jul 2006 07:11:10 -0000 1.1284 *************** *** 1,4 **** --- 1,17 ---- 2006-07-28 Braden McDaniel <br...@en...> + Added test to confirm that EXTERNPROTOs can be loaded in + browser::create_vrml_from_stream. + + * tests/Makefile.am (browser_LDADD): Added -lboost_filesystem. + * tests/browser.cpp + (create_vrml_from_stream_with_externproto()): Test to check that + EXTERNPROTOs can be loaded in browser::create_vrml_from_stream. + (create_vrml_from_url()): Use scope_guard to remove the test file. + (init_unit_test_suite(int, char *[])): Added + create_vrml_from_stream_with_externproto to the test suite. + + 2006-07-28 Braden McDaniel <br...@en...> + Require that all threads loading EXTERNPROTO implementations are joined before destroying the browser. (Otherwise, we deadlock.) |
From: Braden M. <br...@us...> - 2006-07-28 07:11:13
|
Update of /cvsroot/openvrml/openvrml/tests In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21523/tests Modified Files: Makefile.am browser.cpp Log Message: Added test to confirm that EXTERNPROTOs can be loaded in browser::create_vrml_from_stream. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/tests/browser.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** browser.cpp 7 Mar 2006 04:21:05 -0000 1.6 --- browser.cpp 28 Jul 2006 07:11:10 -0000 1.7 *************** *** 20,23 **** --- 20,25 ---- # include <fstream> # include <sstream> + # include <boost/filesystem/operations.hpp> + # include <boost/multi_index/detail/scope_guard.hpp> # include <boost/thread.hpp> # include <boost/test/unit_test.hpp> *************** *** 26,29 **** --- 28,33 ---- using namespace std; using namespace openvrml; + using namespace boost::filesystem; + using namespace boost::multi_index::detail; // for scope_guard void create_vrml_from_stream() *************** *** 42,45 **** --- 46,74 ---- } + void create_vrml_from_stream_with_externproto() + { + { + ofstream file("test.wrl"); + file << "#VRML V2.0 utf8" << endl + << "PROTO Node [] { Group {} }" << endl; + } + scope_guard test_file_guard = + make_guard(&boost::filesystem::remove, + boost::filesystem::path("test.wrl")); + boost::ignore_unused_variable_warning(test_file_guard); + + const char vrmlstring[] = "EXTERNPROTO Node [] [ \"test.wrl\" ] Node {}"; + stringstream vrmlstream(vrmlstring); + + test_browser b; + + vector<boost::intrusive_ptr<node> > nodes = + b.create_vrml_from_stream(vrmlstream); + + BOOST_REQUIRE(nodes.size() == 1); + BOOST_REQUIRE(nodes[0] != boost::intrusive_ptr<node>(0)); + BOOST_CHECK_EQUAL(nodes[0]->type().id(), "Node"); + } + void create_vrml_from_url() { *************** *** 76,79 **** --- 105,113 ---- << "Shape {}" << endl; } + scope_guard test_file_guard = + make_guard(&boost::filesystem::remove, + boost::filesystem::path("test.wrl")); + boost::ignore_unused_variable_warning(test_file_guard); + test_browser b; const char vrmlstring[] = "Group {}"; *************** *** 109,115 **** BOOST_REQUIRE(children.size() == 1); BOOST_CHECK_EQUAL(children[0]->type().id(), "Shape"); - - int remove_result = remove("test.wrl"); - BOOST_CHECK(remove_result == 0); } --- 143,146 ---- *************** *** 119,122 **** --- 150,154 ---- test_suite * const suite = BOOST_TEST_SUITE("browser"); suite->add(BOOST_TEST_CASE(&create_vrml_from_stream)); + suite->add(BOOST_TEST_CASE(&create_vrml_from_stream_with_externproto)); suite->add(BOOST_TEST_CASE(&create_vrml_from_url)); return suite; Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/tests/Makefile.am,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Makefile.am 25 Jul 2006 15:32:22 -0000 1.13 --- Makefile.am 28 Jul 2006 07:11:10 -0000 1.14 *************** *** 20,24 **** browser_SOURCES = browser.cpp ! browser_LDADD = libtest-openvrml.la -lboost_unit_test_framework parse_anchor_SOURCES = parse_anchor.cpp --- 20,24 ---- browser_SOURCES = browser.cpp ! browser_LDADD = libtest-openvrml.la -lboost_unit_test_framework -lboost_filesystem parse_anchor_SOURCES = parse_anchor.cpp |
From: Braden M. <br...@us...> - 2006-07-28 07:04:36
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18785/src/libopenvrml/openvrml Modified Files: Vrml97Parser.g browser.cpp browser.h Log Message: Require that all threads loading EXTERNPROTO implementations are joined before destroying the browser. (Otherwise, we deadlock.) Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.185 retrieving revision 1.186 diff -C2 -d -r1.185 -r1.186 *** browser.cpp 27 Jul 2006 00:32:37 -0000 1.185 --- browser.cpp 28 Jul 2006 07:04:19 -0000 1.186 *************** *** 2306,2315 **** bool externproto_node_types_cleared_; ! boost::scoped_ptr<boost::thread> load_proto_thread_; public: ! externproto_node_metatype(const openvrml::node_metatype_id & id, ! const openvrml::scene & scene, ! const std::vector<std::string> & uris) OPENVRML_THROW2(boost::thread_resource_error, std::bad_alloc); virtual ~externproto_node_metatype() OPENVRML_NOTHROW; --- 2306,2317 ---- bool externproto_node_types_cleared_; ! boost::thread * const load_proto_thread_; public: ! externproto_node_metatype( ! const openvrml::node_metatype_id & id, ! const openvrml::scene & scene, ! const std::vector<std::string> & uris, ! boost::thread_group & load_proto_thread_group) OPENVRML_THROW2(boost::thread_resource_error, std::bad_alloc); virtual ~externproto_node_metatype() OPENVRML_NOTHROW; *************** *** 4287,4296 **** externproto_node_metatype(const openvrml::node_metatype_id & id, const openvrml::scene & scene, ! const std::vector<std::string> & uris) OPENVRML_THROW2(boost::thread_resource_error, std::bad_alloc): node_metatype(id, scene.browser()), externproto_node_types_cleared_(false), load_proto_thread_( ! new boost::thread( boost::function0<void>(load_proto(*this, scene, uris)))) {} --- 4289,4299 ---- externproto_node_metatype(const openvrml::node_metatype_id & id, const openvrml::scene & scene, ! const std::vector<std::string> & uris, ! boost::thread_group & load_proto_thread_group) OPENVRML_THROW2(boost::thread_resource_error, std::bad_alloc): node_metatype(id, scene.browser()), externproto_node_types_cleared_(false), load_proto_thread_( ! load_proto_thread_group.create_thread( boost::function0<void>(load_proto(*this, scene, uris)))) {} *************** *** 5793,5798 **** * @brief Insert a @c node_metatype. * ! * This operation will “fail” silently. That is, if a @c ! * node_metatype corresponding to @p id already exists in the map, the * existing element will simply be returned. * --- 5796,5801 ---- * @brief Insert a @c node_metatype. * ! * This operation will “fail” silently. That is, if a ! * @c node_metatype corresponding to @p id already exists in the map, the * existing element will simply be returned. * *************** *** 5827,5831 **** * @brief Find a @c node_metatype. * ! * @param[in] id an implementation id. * * @return the @c node_metatype corresponding to @p id, or a null --- 5830,5834 ---- * @brief Find a @c node_metatype. * ! * @param[in] id an implementation identifier. * * @return the @c node_metatype corresponding to @p id, or a null *************** *** 5954,5957 **** --- 5957,5970 ---- * @internal * + * @var boost::thread_group openvrml::browser::load_proto_thread_group_ + * + * @brief The threads that load EXTERNPROTO implementations. + * + * These threads @b must be joined by the browser before it is destroyed. + */ + + /** + * @internal + * * @var openvrml::browser::node_metatype_map openvrml::browser::node_metatype_map_ * *************** *** 6208,6211 **** --- 6221,6226 ---- openvrml::browser::~browser() OPENVRML_NOTHROW { + this->load_proto_thread_group_.join_all(); + const double now = browser::current_time(); *************** *** 6687,6690 **** --- 6702,6706 ---- // Clear out the current scene. // + this->load_proto_thread_group_.join_all(); double now = browser::current_time(); if (this->scene_) { this->scene_->shutdown(now); } Index: browser.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.h,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** browser.h 19 May 2006 21:55:08 -0000 1.60 --- browser.h 28 Jul 2006 07:04:19 -0000 1.61 *************** *** 24,27 **** --- 24,28 ---- # define OPENVRML_BROWSER_H + # include <boost/thread.hpp> # include <openvrml/script.h> *************** *** 220,223 **** --- 221,225 ---- std::auto_ptr<null_node_metatype> null_node_metatype_; std::auto_ptr<null_node_type> null_node_type_; + boost::thread_group load_proto_thread_group_; node_metatype_map node_metatype_map_; script_node_metatype script_node_metatype_; Index: Vrml97Parser.g =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/Vrml97Parser.g,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** Vrml97Parser.g 26 Jul 2006 15:56:40 -0000 1.66 --- Vrml97Parser.g 28 Jul 2006 07:04:18 -0000 1.67 *************** *** 987,991 **** path(*scope) + '#' + id->getText(), scene, ! alt_uris)); scene.browser().add_node_metatype(externproto_class->id(), --- 987,992 ---- path(*scope) + '#' + id->getText(), scene, ! alt_uris, ! scene.browser().load_proto_thread_group_)); scene.browser().add_node_metatype(externproto_class->id(), |
From: Braden M. <br...@us...> - 2006-07-28 07:04:21
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18785 Modified Files: ChangeLog Log Message: Require that all threads loading EXTERNPROTO implementations are joined before destroying the browser. (Otherwise, we deadlock.) Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1282 retrieving revision 1.1283 diff -C2 -d -r1.1282 -r1.1283 *** ChangeLog 27 Jul 2006 00:32:36 -0000 1.1282 --- ChangeLog 28 Jul 2006 07:04:18 -0000 1.1283 *************** *** 1,2 **** --- 1,26 ---- + 2006-07-28 Braden McDaniel <br...@en...> + + Require that all threads loading EXTERNPROTO implementations are + joined before destroying the browser. (Otherwise, we deadlock.) + + * src/libopenvrml/openvrml/Vrml97Parser.g + (externproto): Pass browser::load_proto_thread_group_ to the + externproto_node_metatype constructor. + * src/libopenvrml/openvrml/browser.cpp + (externproto_node_metatype::load_proto_thread_): Changed to a raw + pointer. The thread is now owned by + browser::load_proto_thread_group_. + (externproto_node_metatype::externproto_node_metatype(const + openvrml::node_metatype_id &, const openvrml::scene &, const + std::vector<std::string> &, boost::thread_group &)): Pass the + thread_group that owns the load_proto threads; that is, + browser::load_proto_thread_group_. + (openvrml::browser::~browser()): Join all the + load_proto_thread_group_ threads. + (openvrml::browser::set_world(resource_istream &)): Join all the + load_proto_thread_group_ threads when clearing the current scene. + * src/libopenvrml/openvrml/browser.cpp + (openvrml::browser): Added load_proto_thread_group_ member. + 2006-07-26 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-07-28 01:52:54
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv5634 Modified Files: ChangeLog Log Message: When processing a stream from browser::create_vrml_from_stream, resolve EXTERNPROTO URLs relative to the browser::world_url. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1276 retrieving revision 1.1277 diff -C2 -d -r1.1276 -r1.1277 *** ChangeLog 25 Jul 2006 15:32:21 -0000 1.1276 --- ChangeLog 25 Jul 2006 20:25:42 -0000 1.1277 *************** *** 1,4 **** --- 1,22 ---- 2006-07-25 Braden McDaniel <br...@en...> + When processing a stream from browser::create_vrml_from_stream, + resolve EXTERNPROTO URLs relative to the browser::world_url. + + * src/libopenvrml/openvrml/Vrml97Parser.g + (externproto): Check to see if the URI used to instantiate the + parser is an anonymous stream (i.e., from + browser::create_vrml_from_stream) identifier. If it is, resolve + relative URLs against browser::world_url instead. + * src/libopenvrml/openvrml/browser.cpp + (anonymous_stream_id(const uri &)): Check to see whether a uri is + an anonymous stream identifier (i.e., from + browser::create_vrml_from_stream). + (openvrml::browser::create_vrml_from_stream(std::istream &, const + std::string &)): Use anonymous_stream_id_prefix_ when constructing + the stream identifier. + + 2006-07-25 Braden McDaniel <br...@en...> + Changes to tests for parity with the change from node_class to node_metatype. |
From: Braden M. <br...@us...> - 2006-07-28 01:52:54
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv5634/src/libopenvrml/openvrml Modified Files: Vrml97Parser.g browser.cpp Log Message: When processing a stream from browser::create_vrml_from_stream, resolve EXTERNPROTO URLs relative to the browser::world_url. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.182 retrieving revision 1.183 diff -C2 -d -r1.182 -r1.183 *** browser.cpp 25 Jul 2006 06:17:56 -0000 1.182 --- browser.cpp 25 Jul 2006 20:25:42 -0000 1.183 *************** *** 35,38 **** --- 35,39 ---- # endif # include <boost/algorithm/string/predicate.hpp> + # include <boost/array.hpp> # include <boost/bind.hpp> # include <boost/enable_shared_from_this.hpp> *************** *** 3642,3650 **** }; ! inline bool relative(const uri & id) { return id.scheme().empty(); } uri::uri() OPENVRML_THROW1(std::bad_alloc) {} --- 3643,3663 ---- }; ! OPENVRML_LOCAL inline bool relative(const uri & id) { return id.scheme().empty(); } + const std::string anonymous_stream_id_prefix_ = + "urn:X-openvrml:stream:"; + + OPENVRML_LOCAL bool anonymous_stream_id(const uri & id) + { + const std::string str(id); + return str.length() > anonymous_stream_id_prefix_.length() + && std::equal(anonymous_stream_id_prefix_.begin(), + anonymous_stream_id_prefix_.end(), + str.begin()); + } + uri::uri() OPENVRML_THROW1(std::bad_alloc) {} *************** *** 6733,6736 **** --- 6746,6750 ---- const std::string & type) { + using std::ostringstream; using std::string; using std::vector; *************** *** 6742,6747 **** } ! const string stream_id = ! "urn:X-openvrml:stream:" + lexical_cast<string>(stream_id_index_); std::vector<boost::intrusive_ptr<node> > nodes; --- 6756,6762 ---- } ! ostringstream stream_id; ! stream_id << anonymous_stream_id_prefix_ ! << lexical_cast<string>(stream_id_index_); std::vector<boost::intrusive_ptr<node> > nodes; *************** *** 6749,6753 **** assert(this->scene_); std::map<string, string> meta; ! parse_vrml(in, stream_id, type, *this->scene_, nodes, meta); } catch (openvrml::bad_media_type & ex) { throw std::invalid_argument(ex.what()); --- 6764,6768 ---- assert(this->scene_); std::map<string, string> meta; ! parse_vrml(in, stream_id.str(), type, *this->scene_, nodes, meta); } catch (openvrml::bad_media_type & ex) { throw std::invalid_argument(ex.what()); Index: Vrml97Parser.g =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/Vrml97Parser.g,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** Vrml97Parser.g 18 May 2006 04:11:30 -0000 1.64 --- Vrml97Parser.g 25 Jul 2006 20:25:42 -0000 1.65 *************** *** 34,38 **** namespace { ! class Vrml97Scanner : public antlr::TokenStream { public: static const int EOF_; --- 34,39 ---- namespace { ! ! class OPENVRML_LOCAL Vrml97Scanner : public antlr::TokenStream { public: static const int EOF_; *************** *** 948,951 **** --- 949,956 ---- openvrml::mfstring uri_list; shared_ptr<node_type> node_type; + + const ::uri base_uri = anonymous_stream_id(::uri(uri)) + ? ::uri(scene.browser().world_url()) + : ::uri(this->uri); } : KEYWORD_EXTERNPROTO id:ID LBRACKET *************** *** 956,968 **** resource_id != alt_uris.end(); ++resource_id) { ! const ::uri absolute_uri = !relative(::uri(*resource_id)) ! ? ::uri(*resource_id) ! : ::uri(*resource_id) ! .resolve_against(::uri(this->uri)); const shared_ptr<openvrml::node_metatype> node_metatype = scene.browser().node_metatype(node_metatype_id(absolute_uri)); if (node_metatype) { node_type = node_metatype->create_type(id->getText(), ! interfaces); break; } --- 961,972 ---- resource_id != alt_uris.end(); ++resource_id) { ! const ::uri absolute_uri = relative(::uri(*resource_id)) ! ? ::uri(*resource_id).resolve_against(base_uri) ! : ::uri(*resource_id); const shared_ptr<openvrml::node_metatype> node_metatype = scene.browser().node_metatype(node_metatype_id(absolute_uri)); if (node_metatype) { node_type = node_metatype->create_type(id->getText(), ! interfaces); break; } *************** *** 977,992 **** scene.browser().add_node_metatype(externproto_class->id(), ! externproto_class); for (vector<string>::const_iterator resource_id = alt_uris.begin(); resource_id != alt_uris.end(); ++resource_id) { ! const ::uri absolute_uri = ! !relative(::uri(*resource_id)) ! ? ::uri(*resource_id) ! : ::uri(*resource_id).resolve_against( ! ::uri(this->uri)); ! scene.browser().add_node_metatype(node_metatype_id(absolute_uri), ! externproto_class); } --- 981,995 ---- scene.browser().add_node_metatype(externproto_class->id(), ! externproto_class); for (vector<string>::const_iterator resource_id = alt_uris.begin(); resource_id != alt_uris.end(); ++resource_id) { ! const ::uri absolute_uri = relative(::uri(*resource_id)) ! ? ::uri(*resource_id).resolve_against(base_uri) ! : ::uri(*resource_id); ! scene.browser() ! .add_node_metatype(node_metatype_id(absolute_uri), ! externproto_class); } |
From: Braden M. <br...@us...> - 2006-07-27 22:40:52
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2269 Modified Files: ChangeLog openvrml.spec.in Log Message: Updates for Fedora Core 5. Index: openvrml.spec.in =================================================================== RCS file: /cvsroot/openvrml/openvrml/openvrml.spec.in,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** openvrml.spec.in 12 Feb 2006 09:40:16 -0000 1.50 --- openvrml.spec.in 26 Jul 2006 21:49:30 -0000 1.51 *************** *** 11,15 **** BuildRoot: %{_tmppath}/%{name}-root BuildRequires: pkgconfig >= 0.12.0 ! BuildRequires: boost-devel >= 1.30.2 BuildRequires: zlib-devel >= 1.1.3 BuildRequires: libpng-devel >= 1.0.12 --- 11,15 ---- BuildRoot: %{_tmppath}/%{name}-root BuildRequires: pkgconfig >= 0.12.0 ! BuildRequires: boost-devel >= 1.33.1 BuildRequires: zlib-devel >= 1.1.3 BuildRequires: libpng-devel >= 1.0.12 *************** *** 18,22 **** BuildRequires: freetype-devel >= 2.1.2 BuildRequires: mozilla-devel >= 1.6 ! BuildRequires: xorg-x11-devel >= 6.7 BuildRequires: gtk2-devel Requires: zlib >= 1.1.3 --- 18,22 ---- BuildRequires: freetype-devel >= 2.1.2 BuildRequires: mozilla-devel >= 1.6 ! BuildRequires: mesa-libGLU-devel BuildRequires: gtk2-devel Requires: zlib >= 1.1.3 *************** *** 36,39 **** --- 36,40 ---- Group: Development/Libraries Requires: %{name} + Requires: boost-devel >= 1.33.1 %description devel Headers and static library that programmers will need to develop C++ programs *************** *** 44,48 **** Group: System Environment/Libraries Requires: %{name} = %{version} ! Requires: xorg-x11-Mesa-libGLU >= 6.7 %description gl OpenGL renderer for OpenVRML. --- 45,49 ---- Group: System Environment/Libraries Requires: %{name} = %{version} ! Requires: mesa-libGLU %description gl OpenGL renderer for OpenVRML. *************** *** 52,56 **** Group: Development/Libraries Requires: %{name}-gl = %{version} ! Requires: xorg-x11-devel >= 6.7 %description gl-devel Headers and static library that programmers will need to develop C++ programs --- 53,57 ---- Group: Development/Libraries Requires: %{name}-gl = %{version} ! Requires: mesa-libGLU-devel %description gl-devel Headers and static library that programmers will need to develop C++ programs *************** *** 115,118 **** --- 116,124 ---- %changelog + * Wed Jul 26 2006 Braden McDaniel <br...@en...> + - Require boost-devel 1.33.1. + - Added dependency on boost-devel to openvrml-devel. + - Updated Mesa package names for Fedora Core 5. + * Sun Feb 12 2006 Braden McDaniel <br...@en...> - configure with --disable-exception-specs. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1278 retrieving revision 1.1279 diff -C2 -d -r1.1278 -r1.1279 *** ChangeLog 26 Jul 2006 15:56:40 -0000 1.1278 --- ChangeLog 26 Jul 2006 21:49:29 -0000 1.1279 *************** *** 1,4 **** --- 1,8 ---- 2006-07-26 Braden McDaniel <br...@en...> + * openvrml.spec.in: Updates for Fedora Core 5. + + 2006-07-26 Braden McDaniel <br...@en...> + More fixes to support EXTERNPROTOs in browser::create_vrml_from_stream. This includes fixes to the uri |
From: Braden M. <br...@us...> - 2006-07-27 05:46:51
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv680/src/libopenvrml/openvrml Modified Files: browser.cpp Log Message: Avoid redundantly parsing the string in uri's copy constructor and assignment operator. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.184 retrieving revision 1.185 diff -C2 -d -r1.184 -r1.185 *** browser.cpp 26 Jul 2006 15:56:40 -0000 1.184 --- browser.cpp 27 Jul 2006 00:32:37 -0000 1.185 *************** *** 3631,3634 **** --- 3631,3636 ---- operator std::string() const OPENVRML_THROW1(std::bad_alloc); + void swap(uri & id) OPENVRML_NOTHROW; + const std::string scheme() const OPENVRML_THROW1(std::bad_alloc); const std::string scheme_specific_part() const *************** *** 3685,3723 **** uri::uri(const uri & id) OPENVRML_THROW1(std::bad_alloc): ! str_(id.str_) ! { ! using std::string; ! using namespace boost::spirit; ! ! actions a(*this); ! uri_grammar<actions> g(a); ! ! string::const_iterator begin = this->str_.begin(); ! string::const_iterator end = this->str_.end(); ! ! if (!parse(begin, end, g, space_p).full) { ! assert(false); // We started with a uri; it had better be valid. ! } ! } uri & uri::operator=(const uri & id) OPENVRML_THROW1(std::bad_alloc) { ! using std::string; ! using namespace boost::spirit; ! ! if (&id == this) { return *this; } ! ! this->str_ = id.str_; ! ! actions a(*this); ! uri_grammar<actions> g(a); ! ! string::const_iterator begin = this->str_.begin(); ! string::const_iterator end = this->str_.end(); ! ! if (!parse(begin, end, g, space_p).full) { ! assert(false); // We started with a uri; it had better be valid. ! } ! return *this; } --- 3687,3735 ---- uri::uri(const uri & id) OPENVRML_THROW1(std::bad_alloc): ! str_(id.str_), ! scheme_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.scheme_begin)), ! scheme_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.scheme_end)), ! scheme_specific_part_begin( ! this->str_.begin() + std::distance(id.str_.begin(), ! id.scheme_specific_part_begin)), ! scheme_specific_part_end( ! this->str_.begin() + std::distance(id.str_.begin(), ! id.scheme_specific_part_end)), ! authority_begin(this->str_.begin() ! + std::distance(id.str_.begin(), id.authority_begin)), ! authority_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.authority_end)), ! userinfo_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.userinfo_begin)), ! userinfo_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.userinfo_end)), ! host_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.host_begin)), ! host_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.host_end)), ! port_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.port_begin)), ! port_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.port_end)), ! path_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.path_begin)), ! path_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.path_end)), ! query_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.query_begin)), ! query_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.query_end)), ! fragment_begin(this->str_.begin() + std::distance(id.str_.begin(), ! id.fragment_begin)), ! fragment_end(this->str_.begin() + std::distance(id.str_.begin(), ! id.fragment_end)) ! {} uri & uri::operator=(const uri & id) OPENVRML_THROW1(std::bad_alloc) { ! uri temp(id); ! this->swap(temp); return *this; } *************** *** 3728,3731 **** --- 3740,3767 ---- } + void uri::swap(uri & id) OPENVRML_NOTHROW + { + using std::swap; + swap(this->str_, id.str_); + swap(this->scheme_begin, id.scheme_begin); + swap(this->scheme_end, id.scheme_end); + swap(this->scheme_specific_part_begin, id.scheme_specific_part_begin); + swap(this->scheme_specific_part_end, id.scheme_specific_part_end); + swap(this->authority_begin, id.authority_begin); + swap(this->authority_end, id.authority_end); + swap(this->userinfo_begin, id.userinfo_begin); + swap(this->userinfo_end, id.userinfo_end); + swap(this->host_begin, id.host_begin); + swap(this->host_end, id.host_end); + swap(this->port_begin, id.port_begin); + swap(this->port_end, id.port_end); + swap(this->path_begin, id.path_begin); + swap(this->path_end, id.path_end); + swap(this->query_begin, id.query_begin); + swap(this->query_end, id.query_end); + swap(this->fragment_begin, id.fragment_begin); + swap(this->fragment_end, id.fragment_end); + } + const std::string uri::scheme() const OPENVRML_THROW1(std::bad_alloc) { |
From: Braden M. <br...@us...> - 2006-07-27 02:48:03
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv680 Modified Files: ChangeLog Log Message: Avoid redundantly parsing the string in uri's copy constructor and assignment operator. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1281 retrieving revision 1.1282 diff -C2 -d -r1.1281 -r1.1282 *** ChangeLog 26 Jul 2006 22:14:15 -0000 1.1281 --- ChangeLog 27 Jul 2006 00:32:36 -0000 1.1282 *************** *** 1,4 **** --- 1,14 ---- 2006-07-26 Braden McDaniel <br...@en...> + Avoid redundantly parsing the string in uri's copy constructor and + assignment operator. + + * src/libopenvrml/openvrml/browser.cpp + (uri::uri(const uri &)): Initialize the iterators using std::distance. + (uri::operator=(const uri &)): Delegate to uri::swap. + (uri::swap(uri &)): Added swap semantics. + + 2006-07-26 Braden McDaniel <br...@en...> + * configure.ac: Fail if the user attempts to build the Mozilla plug-in without building the GL renderer. |
From: Braden M. <br...@us...> - 2006-07-27 01:49:22
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11883 Modified Files: ChangeLog configure.ac Log Message: Fail if the user attempts to build the Mozilla plug-in without building the GL renderer. Index: configure.ac =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure.ac,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** configure.ac 26 Jul 2006 22:09:48 -0000 1.88 --- configure.ac 26 Jul 2006 22:14:15 -0000 1.89 *************** *** 251,254 **** --- 251,259 ---- [AC_HELP_STRING([--disable-mozilla-plugin], [do not build the Mozilla plug-in])]) + if test X$enable_mozilla_plugin != Xno; then + if test X$enable_gl_renderer = Xno; then + AC_MSG_FAILURE([the Mozilla plug-in cannot be built without the GL renderer]) + fi + fi # Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1280 retrieving revision 1.1281 diff -C2 -d -r1.1280 -r1.1281 *** ChangeLog 26 Jul 2006 22:09:48 -0000 1.1280 --- ChangeLog 26 Jul 2006 22:14:15 -0000 1.1281 *************** *** 1,4 **** --- 1,9 ---- 2006-07-26 Braden McDaniel <br...@en...> + * configure.ac: Fail if the user attempts to build the Mozilla + plug-in without building the GL renderer. + + 2006-07-26 Braden McDaniel <br...@en...> + * configure.ac: Fail if libGLU cannot be found and building the GL renderer is enabled. |
From: Braden M. <br...@us...> - 2006-07-26 22:09:54
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9941 Modified Files: ChangeLog configure.ac Log Message: Fail if libGLU cannot be found and building the GL renderer is enabled. Index: configure.ac =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure.ac,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** configure.ac 7 May 2006 03:39:19 -0000 1.87 --- configure.ac 26 Jul 2006 22:09:48 -0000 1.88 *************** *** 235,239 **** if test "X$enable_gl_renderer" != "Xno"; then if test "X$no_gl" = "Xyes"; then ! AC_MSG_FAILURE([OpenGL/Mesa is required for the GL renderer]) fi AC_CONFIG_FILES([openvrml-gl.pc]) --- 235,242 ---- if test "X$enable_gl_renderer" != "Xno"; then if test "X$no_gl" = "Xyes"; then ! AC_MSG_FAILURE([OpenGL/Mesa (libGL) is required for the GL renderer]) ! fi ! if test "X$no_glu" = "Xyes"; then ! AC_MSG_FAILURE([the OpenGL Utility library (libGLU) is required for the GL renderer]) fi AC_CONFIG_FILES([openvrml-gl.pc]) *************** *** 275,279 **** # AC_SUBST([OPENVRML_PKG_REQUIRES]) ! if test -n "${openvrml_run_path}"; then OPENVRML_RPATH="-rpath ${openvrml_run_path}" fi --- 278,282 ---- # AC_SUBST([OPENVRML_PKG_REQUIRES]) ! if test -n "${openvrml_run_path}"; then OPENVRML_RPATH="-rpath ${openvrml_run_path}" fi Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1279 retrieving revision 1.1280 diff -C2 -d -r1.1279 -r1.1280 *** ChangeLog 26 Jul 2006 21:49:29 -0000 1.1279 --- ChangeLog 26 Jul 2006 22:09:48 -0000 1.1280 *************** *** 1,4 **** --- 1,9 ---- 2006-07-26 Braden McDaniel <br...@en...> + * configure.ac: Fail if libGLU cannot be found and building the GL + renderer is enabled. + + 2006-07-26 Braden McDaniel <br...@en...> + * openvrml.spec.in: Updates for Fedora Core 5. |
From: Braden M. <br...@us...> - 2006-07-26 18:43:47
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19802 Modified Files: ChangeLog Log Message: More fixes to support EXTERNPROTOs in browser::create_vrml_from_stream. This includes fixes to the uri class such that it can be copied reliably. (The default copy semantics resulted in a bunch of invalid iterators.) Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1277 retrieving revision 1.1278 diff -C2 -d -r1.1277 -r1.1278 *** ChangeLog 25 Jul 2006 20:25:42 -0000 1.1277 --- ChangeLog 26 Jul 2006 15:56:40 -0000 1.1278 *************** *** 1,2 **** --- 1,23 ---- + 2006-07-26 Braden McDaniel <br...@en...> + + More fixes to support EXTERNPROTOs in + browser::create_vrml_from_stream. This includes fixes to the uri + class such that it can be copied reliably. (The default copy + semantics resulted in a bunch of invalid iterators.) + + * src/libopenvrml/openvrml/Vrml97Parser.g + (externproto): If browser::world_url is empty, resolve relative + URIs against the current working directory (i.e., call + create_file_url). + * src/libopenvrml/openvrml/browser.cpp + (uri::uri(const uri &)): Defined copy constructor. + (uri::operator=(const uri &)): Defined assignment operator. + (create_file_url(const uri &)): Changed semantics to no longer + check whether the URL actually refers to a valid resource; + instead, the function simply composes a file URL. + (externproto_node_metatype::load_proto::operator()()): If + browser::world_url is empty, resolve relative URIs against the + current working directory (i.e., call create_file_url). + 2006-07-25 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-07-26 15:56:45
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19802/src/libopenvrml/openvrml Modified Files: Vrml97Parser.g browser.cpp Log Message: More fixes to support EXTERNPROTOs in browser::create_vrml_from_stream. This includes fixes to the uri class such that it can be copied reliably. (The default copy semantics resulted in a bunch of invalid iterators.) Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.183 retrieving revision 1.184 diff -C2 -d -r1.183 -r1.184 *** browser.cpp 25 Jul 2006 20:25:42 -0000 1.183 --- browser.cpp 26 Jul 2006 15:56:40 -0000 1.184 *************** *** 3625,3628 **** --- 3625,3631 ---- explicit uri(const std::string & str) OPENVRML_THROW2(openvrml::invalid_url, std::bad_alloc); + uri(const uri & id) OPENVRML_THROW1(std::bad_alloc); + + uri & operator=(const uri & id) OPENVRML_THROW1(std::bad_alloc); operator std::string() const OPENVRML_THROW1(std::bad_alloc); *************** *** 3681,3684 **** --- 3684,3726 ---- } + uri::uri(const uri & id) OPENVRML_THROW1(std::bad_alloc): + str_(id.str_) + { + using std::string; + using namespace boost::spirit; + + actions a(*this); + uri_grammar<actions> g(a); + + string::const_iterator begin = this->str_.begin(); + string::const_iterator end = this->str_.end(); + + if (!parse(begin, end, g, space_p).full) { + assert(false); // We started with a uri; it had better be valid. + } + } + + uri & uri::operator=(const uri & id) OPENVRML_THROW1(std::bad_alloc) + { + using std::string; + using namespace boost::spirit; + + if (&id == this) { return *this; } + + this->str_ = id.str_; + + actions a(*this); + uri_grammar<actions> g(a); + + string::const_iterator begin = this->str_.begin(); + string::const_iterator end = this->str_.end(); + + if (!parse(begin, end, g, space_p).full) { + assert(false); // We started with a uri; it had better be valid. + } + + return *this; + } + uri::operator std::string() const OPENVRML_THROW1(std::bad_alloc) { *************** *** 3986,3989 **** --- 4028,4086 ---- using boost::ptr_map<std::string, component>::at; } component_registry_; + + + /** + * @brief Create an absolute “file” URL from a relative path. + * + * This function constructs a syntactically valid “file” URL; + * it does not check to see whether the file actually exists. + * + * @param[in] relative_uri a relative URI. + * + * @return an absolute “file” URL corresponding to + * @p relative_uri. + * + * @exception std::bad_alloc if memory allocation fails. + * + * @sa ftp://ftp.rfc-editor.org/in-notes/rfc1738.txt + */ + OPENVRML_LOCAL const uri create_file_url(const uri & relative_uri) + OPENVRML_THROW1(std::bad_alloc) + { + assert(relative(relative_uri)); + + using std::string; + using std::ostringstream; + + ostringstream base_uri; + base_uri.unsetf(ostringstream::skipws); + base_uri << "file://"; + + # ifdef _WIN32 + std::vector<char> cwd_buf(_MAX_PATH); + while (!_getcwd(&cwd_buf.front(), cwd_buf.size()) && errno == ERANGE) { + cwd_buf.resize(cwd_buf.size() * 2); + } + std::replace_if(cwd_buf.begin(), + cwd_buf.begin() + strlen(&cwd_buf.front()) + 1, + std::bind2nd(std::equal_to<char>(), '\\'), '/'); + # else + std::vector<char> cwd_buf(PATH_MAX); + while (!getcwd(&cwd_buf.front(), cwd_buf.size()) && errno == ERANGE) { + cwd_buf.resize(cwd_buf.size() * 2); + } + # endif + base_uri << &cwd_buf.front(); + + // + // Don't trust getcwd implementations not to vary on this--add a + // trailing slash if there isn't one. + // + if (base_uri.str()[base_uri.str().length() - 1] != '/') { + base_uri << '/'; + } + + return relative_uri.resolve_against(uri(base_uri.str())); + } } // namespace *************** *** 4096,4101 **** const uri absolute_uri = !relative(uri(*alt_uri)) ? uri(*alt_uri) ! : uri(*alt_uri).resolve_against( ! uri(this->scene_->url())); const shared_ptr<openvrml::node_metatype> node_metatype = --- 4193,4200 ---- const uri absolute_uri = !relative(uri(*alt_uri)) ? uri(*alt_uri) ! : this->scene_->url().empty() ! ? create_file_url(uri(*alt_uri)) ! : uri(*alt_uri).resolve_against( ! uri(this->scene_->url())); const shared_ptr<openvrml::node_metatype> node_metatype = *************** *** 6481,6485 **** * @return the requested resource as a stream. * ! * @sa http://www.isi.edu/in-notes/rfc2396.txt */ --- 6580,6584 ---- * @return the requested resource as a stream. * ! * @sa ftp://ftp.rfc-editor.org/in-notes/std/std66.txt */ *************** *** 7414,7500 **** */ - namespace { - - class OPENVRML_LOCAL bad_path : public openvrml::bad_url { - public: - explicit bad_path(const std::string & message); - virtual ~bad_path() throw (); - }; - - bad_path::bad_path(const std::string & message): - openvrml::bad_url(message) - {} - - bad_path::~bad_path() throw () - {} - - /** - * @brief Create an absolute “file” URL from a relative path. - * - * @param[in] relative_uri a relative URI. - * - * @exception bad_path if @p relative_uri cannot be resolved. - * @exception std::bad_alloc if memory allocation fails. - */ - OPENVRML_LOCAL const uri create_file_url(const uri & relative_uri) - OPENVRML_THROW2(bad_path, std::bad_alloc) - { - assert(relative(relative_uri)); - - using std::string; - using std::ostringstream; - - ostringstream result; - result.unsetf(ostringstream::skipws); - result << "file://"; - uri result_uri; - - try { - # ifdef _WIN32 - // - // _fullpath returns a string starting with the drive letter; for - // the URL, the path must begin with a '/'. So we simply put one - // at the beginning of the buffer. - // - char buffer[_MAX_PATH] = { '/' }; - char * resolved_path = - _fullpath(buffer + 1, relative_uri.path().c_str(), _MAX_PATH); - if (!resolved_path) { - throw bad_path("cannot resolve \"" + relative_uri.path() - + "\""); - } - std::replace_if(resolved_path, - resolved_path + strlen(resolved_path) + 1, - std::bind2nd(std::equal_to<char>(), '\\'), '/'); - # else - char buffer[PATH_MAX]; - const char * resolved_path = realpath(relative_uri.path().c_str(), - buffer); - if (!resolved_path) { - static const size_t buf_size = 256; - char buf[buf_size]; - strerror_r(errno, buf, buf_size); - throw bad_path(buf); - } - # endif - - result << resolved_path; - - const string query = relative_uri.query(); - if (!query.empty()) { result << '?' << query; } - - const string fragment = relative_uri.fragment(); - if (!fragment.empty()) { result << '#' << fragment; } - - result_uri = uri(result.str()); - - } catch (openvrml::invalid_url &) { - assert(false); // If we constructed a bad URI, something is wrong. - } - - return result_uri; - } - } // namespace - /** * @brief Construct. --- 7513,7516 ---- Index: Vrml97Parser.g =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/Vrml97Parser.g,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -d -r1.65 -r1.66 *** Vrml97Parser.g 25 Jul 2006 20:25:42 -0000 1.65 --- Vrml97Parser.g 26 Jul 2006 15:56:40 -0000 1.66 *************** *** 950,955 **** shared_ptr<node_type> node_type; const ::uri base_uri = anonymous_stream_id(::uri(uri)) ! ? ::uri(scene.browser().world_url()) : ::uri(this->uri); } --- 950,964 ---- shared_ptr<node_type> node_type; + // + // If we are parsing an "anonymous" stream--that is, one passed to + // browser::create_vrml_from_stream--we cannot use the URI associated with + // the stream to resolve relative URIs. So in this instance, we get the + // base URI from browser::world_url. If browser::world_url is an empty + // string, we call create_file_url with an empty (relative) uri. + // const ::uri base_uri = anonymous_stream_id(::uri(uri)) ! ? scene.browser().world_url().empty() ! ? create_file_url(::uri()) ! : ::uri(scene.browser().world_url()) : ::uri(this->uri); } |
From: Braden M. <br...@us...> - 2006-07-25 15:32:25
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16869 Modified Files: ChangeLog Log Message: Changes to tests for parity with the change from node_class to node_metatype. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1275 retrieving revision 1.1276 diff -C2 -d -r1.1275 -r1.1276 *** ChangeLog 25 Jul 2006 06:17:56 -0000 1.1275 --- ChangeLog 25 Jul 2006 15:32:21 -0000 1.1276 *************** *** 1,4 **** --- 1,13 ---- 2006-07-25 Braden McDaniel <br...@en...> + Changes to tests for parity with the change from node_class to + node_metatype. + + * tests/Makefile.am + * tests/node_class_id.cpp: Removed file. + * tests/node_metatype_id.cpp: Added file. + + 2006-07-25 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/browser.cpp: Doc-comment improvements. |
From: Braden M. <br...@us...> - 2006-07-25 15:32:25
|
Update of /cvsroot/openvrml/openvrml/tests In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16869/tests Modified Files: Makefile.am Added Files: node_metatype_id.cpp Removed Files: node_class_id.cpp Log Message: Changes to tests for parity with the change from node_class to node_metatype. --- NEW FILE: node_metatype_id.cpp --- # include <boost/test/unit_test.hpp> # include <openvrml/browser.h> using namespace std; using namespace openvrml; void construct_from_urn() { node_metatype_id id("urn:foo:bar"); } void construct_from_url() { node_metatype_id id("http://example.com"); } void construct_from_url_with_fragment_id() { node_metatype_id id("http://example.com#Foo"); } void construct_nested_proto_id() { node_metatype_id id("http://example.com#Foo#Bar"); } void construct_from_relative_url() { BOOST_CHECK_THROW(node_metatype_id id("../foo/bar"), std::invalid_argument); } void construct_from_arbitrary_string() { BOOST_CHECK_THROW(node_metatype_id id("string"), std::invalid_argument); } boost::unit_test::test_suite * init_unit_test_suite(int, char * []) { using boost::unit_test::test_suite; test_suite * const suite = BOOST_TEST_SUITE("node_metatype_id"); suite->add(BOOST_TEST_CASE(&construct_from_urn)); suite->add(BOOST_TEST_CASE(&construct_from_url)); suite->add(BOOST_TEST_CASE(&construct_from_url_with_fragment_id)); suite->add(BOOST_TEST_CASE(&construct_nested_proto_id)); suite->add(BOOST_TEST_CASE(&construct_from_relative_url)); suite->add(BOOST_TEST_CASE(&construct_from_arbitrary_string)); return suite; } Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/tests/Makefile.am,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Makefile.am 9 Apr 2006 08:42:54 -0000 1.12 --- Makefile.am 25 Jul 2006 15:32:22 -0000 1.13 *************** *** 9,13 **** browser \ parse_anchor \ ! node_class_id \ node_interface_set --- 9,13 ---- browser \ parse_anchor \ ! node_metatype_id \ node_interface_set *************** *** 30,35 **** -lboost_unit_test_framework ! node_class_id_SOURCES = node_class_id.cpp ! node_class_id_LDADD = \ $(top_builddir)/src/libopenvrml/libopenvrml.la \ -lboost_unit_test_framework --- 30,35 ---- -lboost_unit_test_framework ! node_metatype_id_SOURCES = node_metatype_id.cpp ! node_metatype_id_LDADD = \ $(top_builddir)/src/libopenvrml/libopenvrml.la \ -lboost_unit_test_framework --- node_class_id.cpp DELETED --- |
From: Braden M. <br...@us...> - 2006-07-25 06:18:00
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19410 Modified Files: ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1274 retrieving revision 1.1275 diff -C2 -d -r1.1274 -r1.1275 *** ChangeLog 25 Jul 2006 05:11:14 -0000 1.1274 --- ChangeLog 25 Jul 2006 06:17:56 -0000 1.1275 *************** *** 1,4 **** --- 1,8 ---- 2006-07-25 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/browser.cpp: Doc-comment improvements. + + 2006-07-25 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/browser.cpp (create_file_url(const uri &)): Removed invalid assertion. |
From: Braden M. <br...@us...> - 2006-07-25 06:17:59
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19410/src/libopenvrml/openvrml Modified Files: browser.cpp Log Message: Doc-comment improvements. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.181 retrieving revision 1.182 diff -C2 -d -r1.181 -r1.182 *** browser.cpp 25 Jul 2006 05:11:14 -0000 1.181 --- browser.cpp 25 Jul 2006 06:17:56 -0000 1.182 *************** *** 7521,7530 **** /** ! * @brief Load the scene from a stream. * * @param[in,out] in an input stream. * ! * @exception bad_media_type if @p in.type() is not "model/vrml", ! * "x-world/x-vrml", or "model/x3d+vrml". * @exception invalid_vrml if @p in has invalid syntax. */ --- 7521,7532 ---- /** ! * @brief Load the @c scene from a stream. * * @param[in,out] in an input stream. * ! * @exception bad_media_type if @p in.type() is not ! * “model/vrml”, ! * “x-world/x-vrml”, or ! * “model/x3d+vrml”. * @exception invalid_vrml if @p in has invalid syntax. */ *************** *** 7544,7548 **** /** ! * @brief Initialize the scene. * * @param[in] timestamp the current time. --- 7546,7550 ---- /** ! * @brief Initialize the @c scene. * * @param[in] timestamp the current time. *************** *** 7632,7638 **** /** ! * @brief Root nodes for the scene. * ! * @return the root nodes for the scene. */ const std::vector<boost::intrusive_ptr<openvrml::node> > & --- 7634,7640 ---- /** ! * @brief Root @c node%s for the @c scene. * ! * @return the root @c node%s for the @c scene. */ const std::vector<boost::intrusive_ptr<openvrml::node> > & *************** *** 7647,7656 **** * * This function calls @c scene::shutdown to shut down the ! * <code>scene</code>'s existing nodes. * * @param[in] n the new root nodes for the @c scene. * ! * @exception std::invalid_argument if any of the nodes in @p n has already been ! * initialized. * @exception std::bad_alloc if memory allocation fails. */ --- 7649,7658 ---- * * This function calls @c scene::shutdown to shut down the ! * <code>scene</code>'s existing @c node%s. * * @param[in] n the new root nodes for the @c scene. * ! * @exception std::invalid_argument if any of the @c node%s in @p n has ! * already been initialized. * @exception std::bad_alloc if memory allocation fails. */ *************** *** 7676,7682 **** /** ! * @brief Get the root scope. * ! * @return the root scope. */ const openvrml::scope * openvrml::scene::root_scope() const --- 7678,7684 ---- /** ! * @brief Get the root @c scope. * ! * @return the root @c scope. */ const openvrml::scope * openvrml::scene::root_scope() const *************** *** 7690,7696 **** /** ! * @brief Get the absolute URI for the scene. * ! * @return the absolute URI for the scene. * * @exception std::bad_alloc if memory allocation fails. --- 7692,7698 ---- /** ! * @brief Get the absolute URI for the @c scene. * ! * @return the absolute URI for the @c scene. * * @exception std::bad_alloc if memory allocation fails. *************** *** 7731,7735 **** * * This method simply resolves any relative references in @p uri and calls ! * browser::load_url. * * @note There are a couple of edge cases here where we are probably doing the --- 7733,7737 ---- * * This method simply resolves any relative references in @p uri and calls ! * @c browser::load_url. * * @note There are a couple of edge cases here where we are probably doing the *************** *** 7791,7795 **** * * Relative URIs in @p url are resolved against the absolute URI of the ! * <code>scene</code>. * * @param[in] url a list of alternative URIs. --- 7793,7797 ---- * * Relative URIs in @p url are resolved against the absolute URI of the ! * @c scene. * * @param[in] url a list of alternative URIs. |
From: Braden M. <br...@us...> - 2006-07-25 05:11:19
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25805/src/libopenvrml/openvrml Modified Files: browser.cpp Log Message: Removed invalid assertion. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.180 retrieving revision 1.181 diff -C2 -d -r1.180 -r1.181 *** browser.cpp 25 Jul 2006 05:05:47 -0000 1.180 --- browser.cpp 25 Jul 2006 05:11:14 -0000 1.181 *************** *** 7439,7444 **** // // _fullpath returns a string starting with the drive letter; for ! // the URL, the path must begin with a '/'. So we simply put one at ! // the beginning of the buffer. // char buffer[_MAX_PATH] = { '/' }; --- 7439,7444 ---- // // _fullpath returns a string starting with the drive letter; for ! // the URL, the path must begin with a '/'. So we simply put one ! // at the beginning of the buffer. // char buffer[_MAX_PATH] = { '/' }; *************** *** 7452,7456 **** resolved_path + strlen(resolved_path) + 1, std::bind2nd(std::equal_to<char>(), '\\'), '/'); - assert(resolved_path == buffer); # else char buffer[PATH_MAX]; --- 7452,7455 ---- |
From: Braden M. <br...@us...> - 2006-07-25 05:11:19
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25805 Modified Files: ChangeLog Log Message: Removed invalid assertion. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1273 retrieving revision 1.1274 diff -C2 -d -r1.1273 -r1.1274 *** ChangeLog 25 Jul 2006 05:05:46 -0000 1.1273 --- ChangeLog 25 Jul 2006 05:11:14 -0000 1.1274 *************** *** 1,4 **** --- 1,10 ---- 2006-07-25 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/browser.cpp + (create_file_url(const uri &)): Removed invalid assertion. + From Andrew Grieve <sg...@us...> + + 2006-07-25 Braden McDaniel <br...@en...> + Doc-comment improvements. |
From: Braden M. <br...@us...> - 2006-07-25 05:05:50
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23504/src/libopenvrml/openvrml Modified Files: browser.cpp node_impl_util.cpp Log Message: Doc-comment improvements. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.179 retrieving revision 1.180 diff -C2 -d -r1.179 -r1.180 *** browser.cpp 25 Jul 2006 03:52:06 -0000 1.179 --- browser.cpp 25 Jul 2006 05:05:47 -0000 1.180 *************** *** 103,111 **** * @brief @c node_metatype for @c PROTO%s. * ! * The <code>proto_node_metatype</code> is %OpenVRML's in-memory ! * representation of a @c PROTO (as opposed to a ! * @c PROTO instance). Through the <code>proto_node_type</code> ! * intermediary, it facilitates spawning any number of ! * <code>proto_node</code> instances. */ class OPENVRML_LOCAL proto_node_metatype : public node_metatype { --- 103,110 ---- * @brief @c node_metatype for @c PROTO%s. * ! * The @c proto_node_metatype is OpenVRML's in-memory representation of a ! * @c PROTO (as opposed to a @c PROTO instance). Through the @c ! * proto_node_type intermediary, it facilitates spawning any number of @c ! * proto_node instances. */ class OPENVRML_LOCAL proto_node_metatype : public node_metatype { *************** *** 170,174 **** * @internal * ! * @brief <code>node_type</code> for PROTO node instances. */ class OPENVRML_LOCAL proto_node_type : public node_type { --- 169,173 ---- * @internal * ! * @brief @c node_type for @c PROTO node instances. */ class OPENVRML_LOCAL proto_node_type : public node_type { *************** *** 1306,1311 **** * @todo It's annoying that we need to carry this around. Should * investigate the possibility of promoting all this stuff to ! * proto_eventout and have proto_eventout privately inherit ! * field_value_listener<FieldValue>. */ --- 1305,1310 ---- * @todo It's annoying that we need to carry this around. Should * investigate the possibility of promoting all this stuff to ! * @c proto_eventout and have @c proto_eventout privately inherit ! * @c field_value_listener<FieldValue>. */ *************** *** 1350,1354 **** /** ! * @brief Get the associated eventIn identifier. */ template <typename FieldValue> --- 1349,1353 ---- /** ! * @brief Get the associated @c eventIn identifier. */ template <typename FieldValue> *************** *** 1412,1416 **** * @param[in] node @c abstract_proto_node. * @param[in] initial_value initial value. This is used by ! * @c proto_exposedfield<FieldValue> */ template <typename FieldValue> --- 1411,1415 ---- * @param[in] node @c abstract_proto_node. * @param[in] initial_value initial value. This is used by ! * @c proto_exposedfield<FieldValue> */ template <typename FieldValue> Index: node_impl_util.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node_impl_util.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** node_impl_util.cpp 24 Jul 2006 23:55:14 -0000 1.14 --- node_impl_util.cpp 25 Jul 2006 05:05:47 -0000 1.15 *************** *** 28,43 **** * * While the API comprising the members of the @c openvrml namespace ! * provides everything <em>necessary</em> to implement nodes, node ! * implementation can be very verbose. The members of the ! * @c openvrml::node_impl_util namespace can make node implementation * more concise by abstracting and providing code that many node * implementations are likely to have in common. * ! * Specifically, @c node_type_impl centralizes the logic for ! * generalized field access. By using an instance of this class template ! * for your @c openvrml::node_type implementation you can avoid a lot ! * of tedious and repetitive code to implement ! * @c openvrml::node::do_field, ! * @c openvrml::node::do_event_listener, and * @c openvrml::node::do_event_emitter. */ --- 28,42 ---- * * While the API comprising the members of the @c openvrml namespace ! * provides everything @e necessary to implement nodes, node ! * implementation can be very verbose. The members of the @c ! * openvrml::node_impl_util namespace can make node implementation * more concise by abstracting and providing code that many node * implementations are likely to have in common. * ! * In particular, @c node_type_impl centralizes the logic for ! * generalized field access. By using an instance of this class ! * template for your @c openvrml::node_type implementation you can ! * avoid a lot of tedious and repetitive code to implement @c ! * openvrml::node::do_field, @c openvrml::node::do_event_listener, and * @c openvrml::node::do_event_emitter. */ *************** *** 365,371 **** * @fn const std::string openvrml::node_impl_util::event_listener_base::do_eventin_id() const * ! * @brief The associated eventIn identifier. * ! * @return the associated eventIn identifier. */ --- 364,370 ---- * @fn const std::string openvrml::node_impl_util::event_listener_base::do_eventin_id() const * ! * @brief The associated @c eventIn identifier. * ! * @return the associated @c eventIn identifier. */ *************** *** 383,387 **** * @var openvrml::node * openvrml::node_impl_util::event_emitter_base::node_ * ! * @brief The node with which the @c event_emitter is associated. */ --- 382,386 ---- * @var openvrml::node * openvrml::node_impl_util::event_emitter_base::node_ * ! * @brief The @c node with which the @c event_emitter is associated. */ *************** *** 458,464 **** * @fn const std::string openvrml::node_impl_util::event_emitter_base::do_eventout_id() const * ! * @brief The associated eventOut identifier. * ! * @return the associated eventOut identifier. */ --- 457,463 ---- * @fn const std::string openvrml::node_impl_util::event_emitter_base::do_eventout_id() const * ! * @brief The associated @c eventOut identifier. * ! * @return the associated @c eventOut identifier. */ *************** *** 470,474 **** * * @c abstract_node encapsulates the mechanisms for field access and ! * mutation, event dispatch, and eventOut access. */ --- 469,473 ---- * * @c abstract_node encapsulates the mechanisms for field access and ! * mutation, event dispatch, and @c eventOut access. */ *************** *** 476,480 **** * @typedef openvrml::node_field_value_listener<openvrml::sfbool> openvrml::node_impl_util::abstract_node::sfbool_listener * ! * @brief @c openvrml::sfbool listener. Provided for convenience. */ --- 475,479 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfbool> openvrml::node_impl_util::abstract_node::sfbool_listener * ! * @brief @c openvrml::sfbool listener. Provided for convenience. */ *************** *** 482,486 **** * @typedef openvrml::node_field_value_listener<openvrml::sfcolor> openvrml::node_impl_util::abstract_node::sfcolor_listener * ! * @brief @c openvrml::sfcolor listener. Provided for convenience. */ --- 481,485 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfcolor> openvrml::node_impl_util::abstract_node::sfcolor_listener * ! * @brief @c openvrml::sfcolor listener. Provided for convenience. */ *************** *** 488,492 **** * @typedef openvrml::node_field_value_listener<openvrml::sffloat> openvrml::node_impl_util::abstract_node::sffloat_listener * ! * @brief @c openvrml::sffloat listener. Provided for convenience. */ --- 487,491 ---- * @typedef openvrml::node_field_value_listener<openvrml::sffloat> openvrml::node_impl_util::abstract_node::sffloat_listener * ! * @brief @c openvrml::sffloat listener. Provided for convenience. */ *************** *** 494,498 **** * @typedef openvrml::node_field_value_listener<openvrml::sfdouble> openvrml::node_impl_util::abstract_node::sfdouble_listener * ! * @brief @c openvrml::sfdouble listener. Provided for convenience. */ --- 493,497 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfdouble> openvrml::node_impl_util::abstract_node::sfdouble_listener * ! * @brief @c openvrml::sfdouble listener. Provided for convenience. */ *************** *** 500,504 **** * @typedef openvrml::node_field_value_listener<openvrml::sfimage> openvrml::node_impl_util::abstract_node::sfimage_listener * ! * @brief @c openvrml::sfimage listener. Provided for convenience. */ --- 499,503 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfimage> openvrml::node_impl_util::abstract_node::sfimage_listener * ! * @brief @c openvrml::sfimage listener. Provided for convenience. */ *************** *** 506,510 **** * @typedef openvrml::node_field_value_listener<openvrml::sfint32> openvrml::node_impl_util::abstract_node::sfint32_listener * ! * @brief @c openvrml::sfint32 listener. Provided for convenience. */ --- 505,509 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfint32> openvrml::node_impl_util::abstract_node::sfint32_listener * ! * @brief @c openvrml::sfint32 listener. Provided for convenience. */ *************** *** 512,516 **** * @typedef openvrml::node_field_value_listener<openvrml::sfnode> openvrml::node_impl_util::abstract_node::sfnode_listener * ! * @brief @c openvrml::sfnode listener. Provided for convenience. */ --- 511,515 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfnode> openvrml::node_impl_util::abstract_node::sfnode_listener * ! * @brief @c openvrml::sfnode listener. Provided for convenience. */ *************** *** 518,522 **** * @typedef openvrml::node_field_value_listener<openvrml::sfrotation> openvrml::node_impl_util::abstract_node::sfrotation_listener * ! * @brief @c openvrml::sfrotation listener. Provided for convenience. */ --- 517,521 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfrotation> openvrml::node_impl_util::abstract_node::sfrotation_listener * ! * @brief @c openvrml::sfrotation listener. Provided for convenience. */ *************** *** 524,528 **** * @typedef openvrml::node_field_value_listener<openvrml::sfstring> openvrml::node_impl_util::abstract_node::sfstring_listener * ! * @brief @c openvrml::sfstring listener. Provided for convenience. */ --- 523,527 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfstring> openvrml::node_impl_util::abstract_node::sfstring_listener * ! * @brief @c openvrml::sfstring listener. Provided for convenience. */ *************** *** 530,534 **** * @typedef openvrml::node_field_value_listener<openvrml::sftime> openvrml::node_impl_util::abstract_node::sftime_listener * ! * @brief @c openvrml::sftime listener. Provided for convenience. */ --- 529,533 ---- * @typedef openvrml::node_field_value_listener<openvrml::sftime> openvrml::node_impl_util::abstract_node::sftime_listener * ! * @brief @c openvrml::sftime listener. Provided for convenience. */ *************** *** 536,540 **** * @typedef openvrml::node_field_value_listener<openvrml::sfvec2f> openvrml::node_impl_util::abstract_node::sfvec2f_listener * ! * @brief @c openvrml::sfvec2f listener. Provided for convenience. */ --- 535,539 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfvec2f> openvrml::node_impl_util::abstract_node::sfvec2f_listener * ! * @brief @c openvrml::sfvec2f listener. Provided for convenience. */ *************** *** 542,546 **** * @typedef openvrml::node_field_value_listener<openvrml::sfvec2d> openvrml::node_impl_util::abstract_node::sfvec2d_listener * ! * @brief @c openvrml::sfvec2d listener. Provided for convenience. */ --- 541,545 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfvec2d> openvrml::node_impl_util::abstract_node::sfvec2d_listener * ! * @brief @c openvrml::sfvec2d listener. Provided for convenience. */ *************** *** 548,552 **** * @typedef openvrml::node_field_value_listener<openvrml::sfvec3f> openvrml::node_impl_util::abstract_node::sfvec3f_listener * ! * @brief @c openvrml::sfvec3f listener. Provided for convenience. */ --- 547,551 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfvec3f> openvrml::node_impl_util::abstract_node::sfvec3f_listener * ! * @brief @c openvrml::sfvec3f listener. Provided for convenience. */ *************** *** 554,558 **** * @typedef openvrml::node_field_value_listener<openvrml::sfvec3d> openvrml::node_impl_util::abstract_node::sfvec3d_listener * ! * @brief @c openvrml::sfvec3d listener. Provided for convenience. */ --- 553,557 ---- * @typedef openvrml::node_field_value_listener<openvrml::sfvec3d> openvrml::node_impl_util::abstract_node::sfvec3d_listener * ! * @brief @c openvrml::sfvec3d listener. Provided for convenience. */ *************** *** 560,564 **** * @typedef openvrml::node_field_value_listener<openvrml::mfcolor> openvrml::node_impl_util::abstract_node::mfcolor_listener * ! * @brief @c openvrml::mfcolor listener. Provided for convenience. */ --- 559,563 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfcolor> openvrml::node_impl_util::abstract_node::mfcolor_listener * ! * @brief @c openvrml::mfcolor listener. Provided for convenience. */ *************** *** 566,570 **** * @typedef openvrml::node_field_value_listener<openvrml::mffloat> openvrml::node_impl_util::abstract_node::mffloat_listener * ! * @brief @c openvrml::mffloat listener. Provided for convenience. */ --- 565,569 ---- * @typedef openvrml::node_field_value_listener<openvrml::mffloat> openvrml::node_impl_util::abstract_node::mffloat_listener * ! * @brief @c openvrml::mffloat listener. Provided for convenience. */ *************** *** 572,576 **** * @typedef openvrml::node_field_value_listener<openvrml::mfdouble> openvrml::node_impl_util::abstract_node::mfdouble_listener * ! * @brief @c openvrml::mfdouble listener. Provided for convenience. */ --- 571,575 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfdouble> openvrml::node_impl_util::abstract_node::mfdouble_listener * ! * @brief @c openvrml::mfdouble listener. Provided for convenience. */ *************** *** 578,582 **** * @typedef openvrml::node_field_value_listener<openvrml::mfint32> openvrml::node_impl_util::abstract_node::mfint32_listener * ! * @brief @c openvrml::mfint32 listener. Provided for convenience. */ --- 577,581 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfint32> openvrml::node_impl_util::abstract_node::mfint32_listener * ! * @brief @c openvrml::mfint32 listener. Provided for convenience. */ *************** *** 584,588 **** * @typedef openvrml::node_field_value_listener<openvrml::mfnode> openvrml::node_impl_util::abstract_node::mfnode_listener * ! * @brief @c openvrml::mfnode listener. Provided for convenience. */ --- 583,587 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfnode> openvrml::node_impl_util::abstract_node::mfnode_listener * ! * @brief @c openvrml::mfnode listener. Provided for convenience. */ *************** *** 590,594 **** * @typedef openvrml::node_field_value_listener<openvrml::mfrotation> openvrml::node_impl_util::abstract_node::mfrotation_listener * ! * @brief @c openvrml::mfrotation listener. Provided for convenience. */ --- 589,593 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfrotation> openvrml::node_impl_util::abstract_node::mfrotation_listener * ! * @brief @c openvrml::mfrotation listener. Provided for convenience. */ *************** *** 596,600 **** * @typedef openvrml::node_field_value_listener<openvrml::mfstring> openvrml::node_impl_util::abstract_node::mfstring_listener * ! * @brief @c openvrml::mfstring listener. Provided for convenience. */ --- 595,599 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfstring> openvrml::node_impl_util::abstract_node::mfstring_listener * ! * @brief @c openvrml::mfstring listener. Provided for convenience. */ *************** *** 602,606 **** * @typedef openvrml::node_field_value_listener<openvrml::mftime> openvrml::node_impl_util::abstract_node::mftime_listener * ! * @brief @c openvrml::mftime listener. Provided for convenience. */ --- 601,605 ---- * @typedef openvrml::node_field_value_listener<openvrml::mftime> openvrml::node_impl_util::abstract_node::mftime_listener * ! * @brief @c openvrml::mftime listener. Provided for convenience. */ *************** *** 608,612 **** * @typedef openvrml::node_field_value_listener<openvrml::mfvec2f> openvrml::node_impl_util::abstract_node::mfvec2f_listener * ! * @brief @c openvrml::mfvec2f listener. Provided for convenience. */ --- 607,611 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfvec2f> openvrml::node_impl_util::abstract_node::mfvec2f_listener * ! * @brief @c openvrml::mfvec2f listener. Provided for convenience. */ *************** *** 614,618 **** * @typedef openvrml::node_field_value_listener<openvrml::mfvec2d> openvrml::node_impl_util::abstract_node::mfvec2d_listener * ! * @brief @c openvrml::mfvec2d listener. Provided for convenience. */ --- 613,617 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfvec2d> openvrml::node_impl_util::abstract_node::mfvec2d_listener * ! * @brief @c openvrml::mfvec2d listener. Provided for convenience. */ *************** *** 620,624 **** * @typedef openvrml::node_field_value_listener<openvrml::mfvec3f> openvrml::node_impl_util::abstract_node::mfvec3f_listener * ! * @brief @c openvrml::mfvec3f listener. Provided for convenience. */ --- 619,623 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfvec3f> openvrml::node_impl_util::abstract_node::mfvec3f_listener * ! * @brief @c openvrml::mfvec3f listener. Provided for convenience. */ *************** *** 626,630 **** * @typedef openvrml::node_field_value_listener<openvrml::mfvec3d> openvrml::node_impl_util::abstract_node::mfvec3d_listener * ! * @brief @c openvrml::mfvec3d listener. Provided for convenience. */ --- 625,629 ---- * @typedef openvrml::node_field_value_listener<openvrml::mfvec3d> openvrml::node_impl_util::abstract_node::mfvec3d_listener * ! * @brief @c openvrml::mfvec3d listener. Provided for convenience. */ *************** *** 640,644 **** * @brief Construct. * ! * @param[in] node node from which events will be emitted. * @param[in] value associated field value. */ --- 639,643 ---- * @brief Construct. * ! * @param[in] node @c node from which events will be emitted. * @param[in] value associated field value. */ *************** *** 846,851 **** * @brief Construct. * ! * @param[in] type the node_type associated with this node. ! * @param[in] scope the scope to which the node belongs. */ --- 845,850 ---- * @brief Construct. * ! * @param[in] type the @c node_type associated with this node. ! * @param[in] scope the @c scope to which the @c node belongs. */ *************** *** 859,867 **** * @fn const openvrml::field_value & openvrml::node_impl_util::abstract_node::do_field(const std::string & id) const * ! * @brief Get a field value for a node. * * @param[in] id a field name. * ! * @exception unsupported_interface if the node has no field @p id. */ --- 858,866 ---- * @fn const openvrml::field_value & openvrml::node_impl_util::abstract_node::do_field(const std::string & id) const * ! * @brief Get a field value for a @c node. * * @param[in] id a field name. * ! * @exception unsupported_interface if the @c node has no @c field @p id. */ *************** *** 871,881 **** * @brief Get an event listener. * ! * This method is called by node::event_listener. * ! * @param[in] id eventIn identifier. * * @return the event listener. * ! * @exception unsupported_interface if the node has no eventIn @p id. */ --- 870,880 ---- * @brief Get an event listener. * ! * This method is called by @c node::event_listener. * ! * @param[in] id @c eventIn identifier. * * @return the event listener. * ! * @exception unsupported_interface if the @c node has no @c eventIn @p id. */ *************** *** 885,895 **** * @brief Get an event emitter. * ! * This method is called by node::event_emitter. * ! * @param[in] id eventOut identifier. * * @return the event emitter. * ! * @exception unsupported_interface if the node has no eventOut @p id. */ --- 884,894 ---- * @brief Get an event emitter. * ! * This method is called by @c node::event_emitter. * ! * @param[in] id @c eventOut identifier. * * @return the event emitter. * ! * @exception unsupported_interface if the @c node has no @c eventOut @p id. */ *************** *** 918,922 **** * @fn openvrml::node_impl_util::node_type_impl::event_listener_ptr::event_listener_ptr(EventListenerMember Node::* ptr_to_mem) * ! * @brief Construct * * @param[in] ptr_to_mem a pointer to an --- 917,921 ---- * @fn openvrml::node_impl_util::node_type_impl::event_listener_ptr::event_listener_ptr(EventListenerMember Node::* ptr_to_mem) * ! * @brief Construct. * * @param[in] ptr_to_mem a pointer to an *************** *** 933,937 **** * @fn openvrml::node_impl_util::node_type_impl::event_emitter_ptr::event_emitter_ptr(EventEmitterMember Node::* ptr_to_mem) * ! * @brief Construct * * @param[in] ptr_to_mem a pointer to an --- 932,936 ---- * @fn openvrml::node_impl_util::node_type_impl::event_emitter_ptr::event_emitter_ptr(EventEmitterMember Node::* ptr_to_mem) * ! * @brief Construct. * * @param[in] ptr_to_mem a pointer to an *************** *** 957,969 **** * @fn void openvrml::node_impl_util::node_type_impl::add_eventin(const openvrml::field_value::type_id type, const std::string & id, const event_listener_ptr_ptr & event_listener) * ! * @brief Add an eventIn. * * @param[in] type the field value type. ! * @param[in] id the eventIn identifier. ! * @param[in] event_listener the @c openvrml::event_listener ! * associated with the eventIn. * ! * @exception std::invalid_argument if an interface with a conflicting ! * @p id has already been added to the * @c node_type. * @exception std::bad_alloc if memory allocation fails. --- 956,968 ---- * @fn void openvrml::node_impl_util::node_type_impl::add_eventin(const openvrml::field_value::type_id type, const std::string & id, const event_listener_ptr_ptr & event_listener) * ! * @brief Add an @c eventIn. * * @param[in] type the field value type. ! * @param[in] id the @c eventIn identifier. ! * @param[in] event_listener the @c openvrml::event_listener associated ! * with the @c eventIn. * ! * @exception std::invalid_argument if an interface with a conflicting @p id ! * has already been added to the * @c node_type. * @exception std::bad_alloc if memory allocation fails. *************** *** 973,982 **** * @fn void openvrml::node_impl_util::node_type_impl::add_eventout(const openvrml::field_value::type_id type, const std::string & id, const event_emitter_ptr_ptr & event_emitter) * ! * @brief Add an eventOut. * * @param[in] type the field value type. ! * @param[in] id the eventOut identifier. * @param[in] event_emitter the @c openvrml::event_emitter ! * associated with the eventOut. * * @exception std::invalid_argument if an interface with a conflicting --- 972,981 ---- * @fn void openvrml::node_impl_util::node_type_impl::add_eventout(const openvrml::field_value::type_id type, const std::string & id, const event_emitter_ptr_ptr & event_emitter) * ! * @brief Add an @c eventOut. * * @param[in] type the field value type. ! * @param[in] id the @c eventOut identifier. * @param[in] event_emitter the @c openvrml::event_emitter ! * associated with the @c eventOut. * * @exception std::invalid_argument if an interface with a conflicting *************** *** 989,1002 **** * @fn void openvrml::node_impl_util::node_type_impl::add_exposedfield(const openvrml::field_value::type_id type, const std::string & id, const event_listener_ptr_ptr & event_listener, const field_ptr_ptr & field, const event_emitter_ptr_ptr & event_emitter) * ! * @brief Add an exposedField. * * @param[in] type the field value type. ! * @param[in] id the exposedField identifier. * @param[in] event_listener the @c openvrml::event_listener ! * associated with the exposedField. * @param[in] field the @c openvrml::field_value ! * associated with the exposedField. * @param[in] event_emitter the @c openvrml::event_emitter ! * associated with the exposedField. * * @exception std::invalid_argument if an interface with a conflicting --- 988,1001 ---- * @fn void openvrml::node_impl_util::node_type_impl::add_exposedfield(const openvrml::field_value::type_id type, const std::string & id, const event_listener_ptr_ptr & event_listener, const field_ptr_ptr & field, const event_emitter_ptr_ptr & event_emitter) * ! * @brief Add an @c exposedField. * * @param[in] type the field value type. ! * @param[in] id the @c exposedField identifier. * @param[in] event_listener the @c openvrml::event_listener ! * associated with the @c exposedField. * @param[in] field the @c openvrml::field_value ! * associated with the @c exposedField. * @param[in] event_emitter the @c openvrml::event_emitter ! * associated with the @c exposedField. * * @exception std::invalid_argument if an interface with a conflicting *************** *** 1009,1018 **** * @fn void openvrml::node_impl_util::node_type_impl::add_field(const openvrml::field_value::type_id type, const std::string & id, const field_ptr_ptr & field) * ! * @brief Add a field. * * @param[in] type the field value type. * @param[in] id the field identifier. * @param[in] field the @c openvrml::field_value associated with the ! * field. * * @exception std::invalid_argument if an interface with a conflicting --- 1008,1017 ---- * @fn void openvrml::node_impl_util::node_type_impl::add_field(const openvrml::field_value::type_id type, const std::string & id, const field_ptr_ptr & field) * ! * @brief Add a @c field. * * @param[in] type the field value type. * @param[in] id the field identifier. * @param[in] field the @c openvrml::field_value associated with the ! * @c field. * * @exception std::invalid_argument if an interface with a conflicting *************** *** 1032,1041 **** * @param[in] node the @c openvrml::node for which to return the * @c openvrml::field_value. ! * @param[in] id field identifier. * * @return @p node's @c openvrml::field_value corresponding to ! * the field identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no field * @p id. */ --- 1031,1040 ---- * @param[in] node the @c openvrml::node for which to return the * @c openvrml::field_value. ! * @param[in] id @c field identifier. * * @return @p node's @c openvrml::field_value corresponding to ! * the @c field identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no @c field * @p id. */ *************** *** 1049,1058 **** * @param[in] node the node for which to return the * @c openvrml::field_value. ! * @param[in] id field identifier. * * @return @p node's @c openvrml::field_value corresponding to ! * the field identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no field * @p id. */ --- 1048,1057 ---- * @param[in] node the node for which to return the * @c openvrml::field_value. ! * @param[in] id @c field identifier. * * @return @p node's @c openvrml::field_value corresponding to ! * the @c field identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no @c field * @p id. */ *************** *** 1062,1066 **** * * @brief @p node's @c openvrml::event_listener corresponding to ! * the eventIn identifier @p id. * * Delegates to --- 1061,1065 ---- * * @brief @p node's @c openvrml::event_listener corresponding to ! * the @c eventIn identifier @p id. * * Delegates to *************** *** 1069,1078 **** * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_listener. ! * @param[in] id eventIn identifier. * * @return @p node's @c openvrml::event_listener corresponding to * the eventIn identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no eventIn * @p id. */ --- 1068,1077 ---- * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_listener. ! * @param[in] id @c eventIn identifier. * * @return @p node's @c openvrml::event_listener corresponding to * the eventIn identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no @c eventIn * @p id. */ *************** *** 1082,1095 **** * * @brief @p node's @c openvrml::event_listener corresponding to ! * the eventIn identifier @p id. * * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_listener. ! * @param[in] id eventIn identifier. * * @return @p node's @c openvrml::event_listener corresponding to ! * the eventIn identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no eventIn * @p id. */ --- 1081,1094 ---- * * @brief @p node's @c openvrml::event_listener corresponding to ! * the @c eventIn identifier @p id. * * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_listener. ! * @param[in] id @c eventIn identifier. * * @return @p node's @c openvrml::event_listener corresponding to ! * the @c eventIn identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no @c eventIn * @p id. */ *************** *** 1099,1103 **** * * @brief @p node's @c openvrml::event_emitter corresponding to ! * the eventOut identifier @p id. * * Delegates to @c node_type_impl<Node>::do_event_emitter. --- 1098,1102 ---- * * @brief @p node's @c openvrml::event_emitter corresponding to ! * the @c eventOut identifier @p id. * * Delegates to @c node_type_impl<Node>::do_event_emitter. *************** *** 1105,1114 **** * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_emitter. ! * @param[in] id eventOut identifier. * * @return @p node's @c openvrml::event_emitter corresponding to ! * the eventOut identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no eventOut * @p id. */ --- 1104,1113 ---- * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_emitter. ! * @param[in] id @c eventOut identifier. * * @return @p node's @c openvrml::event_emitter corresponding to ! * the @c eventOut identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no @c eventOut * @p id. */ *************** *** 1118,1122 **** * * @brief @p node's @c openvrml::event_emitter corresponding to ! * the eventOut identifier @p id. * * Delegates to @c node_type_impl<Node>::do_event_emitter. --- 1117,1121 ---- * * @brief @p node's @c openvrml::event_emitter corresponding to ! * the @c eventOut identifier @p id. * * Delegates to @c node_type_impl<Node>::do_event_emitter. *************** *** 1124,1133 **** * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_emitter. ! * @param[in] id eventOut identifier. * * @return @p node's @c openvrml::event_emitter corresponding to ! * the eventOut identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no eventOut * @p id. */ --- 1123,1132 ---- * @param[in] node the @c openvrml::node for which to return the * @c openvrml::event_emitter. ! * @param[in] id @c eventOut identifier. * * @return @p node's @c openvrml::event_emitter corresponding to ! * the @c eventOut identifier @p id. * ! * @exception openvrml::unsupported_interface if @p node has no @c eventOut * @p id. */ *************** *** 1148,1154 **** * @brief Create a node instance. * ! * @param[in] scope the @c scope the new node will belong ! * to. ! * @param[in] initial_values initial values for the new node's fields. * * @return a new node instance. --- 1147,1153 ---- * @brief Create a node instance. * ! * @param[in] scope the @c scope the new node will belong to. ! * @param[in] initial_values initial values for the new <code>node</code>'s ! * fields. * * @return a new node instance. |
From: Braden M. <br...@us...> - 2006-07-25 05:05:49
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23504 Modified Files: ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1272 retrieving revision 1.1273 diff -C2 -d -r1.1272 -r1.1273 *** ChangeLog 25 Jul 2006 03:52:06 -0000 1.1272 --- ChangeLog 25 Jul 2006 05:05:46 -0000 1.1273 *************** *** 1,2 **** --- 1,9 ---- + 2006-07-25 Braden McDaniel <br...@en...> + + Doc-comment improvements. + + * src/libopenvrml/openvrml/browser.cpp + * src/libopenvrml/openvrml/node_impl_util.cpp + 2006-07-24 Braden McDaniel <br...@en...> |