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...> - 2005-12-20 21:31:30
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9051 Modified Files: ChangeLog Log Message: Made grouping_node_base<Derived>::self_t protected. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1091 retrieving revision 1.1092 diff -C2 -d -r1.1091 -r1.1092 *** ChangeLog 20 Dec 2005 08:37:43 -0000 1.1091 --- ChangeLog 20 Dec 2005 21:31:21 -0000 1.1092 *************** *** 1,4 **** --- 1,9 ---- 2005-12-20 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/vrml97node.cpp + (grouping_node_base<Derived>): Made self_t protected. + + 2005-12-20 Braden McDaniel <br...@en...> + Changed openvrml::resource_istream to use nonvirtual interface idiom. |
From: Braden M. <br...@us...> - 2005-12-20 21:31:30
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9051/src/libopenvrml/openvrml Modified Files: vrml97node.cpp Log Message: Made grouping_node_base<Derived>::self_t protected. Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.92 retrieving revision 1.93 diff -C2 -d -r1.92 -r1.93 *** vrml97node.cpp 19 Dec 2005 07:33:39 -0000 1.92 --- vrml97node.cpp 20 Dec 2005 21:31:22 -0000 1.93 *************** *** 1625,1631 **** class OPENVRML_LOCAL grouping_node_base : public abstract_node<Derived>, public virtual grouping_node { - typedef typename abstract_node<Derived>::self_t self_t; - protected: class add_children_listener : public event_listener_base<self_t>, --- 1625,1631 ---- class OPENVRML_LOCAL grouping_node_base : public abstract_node<Derived>, public virtual grouping_node { protected: + using abstract_node<Derived>::self_t; + class add_children_listener : public event_listener_base<self_t>, |
From: Braden M. <br...@us...> - 2005-12-20 08:37:54
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29946/src/libopenvrml/openvrml Modified Files: browser.cpp browser.h Log Message: Changed openvrml::resource_istream to use nonvirtual interface idiom. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.115 retrieving revision 1.116 diff -C2 -d -r1.115 -r1.116 *** browser.cpp 12 Dec 2005 04:16:18 -0000 1.115 --- browser.cpp 20 Dec 2005 08:37:43 -0000 1.116 *************** *** 5970,5974 **** /** ! * @fn const std::string openvrml::resource_istream::url() const throw () * * @brief Get the URL associated with the stream. --- 5970,5989 ---- /** ! * @brief Get the URL associated with the stream. ! * ! * This function delegates to @c do_url. ! * ! * @return the URL associated with the stream. ! * ! * @exception std::bad_alloc if memory allocation fails. ! */ ! const std::string openvrml::resource_istream::url() const ! throw (std::bad_alloc) ! { ! return this->do_url(); ! } ! ! /** ! * @fn const std::string openvrml::resource_istream::do_url() const throw (std::bad_alloc) * * @brief Get the URL associated with the stream. *************** *** 5978,5982 **** /** ! * @fn const std::string openvrml::resource_istream::type() const throw () * * @brief Get the MIME content type associated with the stream. --- 5993,6010 ---- /** ! * @brief Get the MIME content type associated with the stream. ! * ! * This function delegates to @c do_type. ! * ! * @return the MIME content type associated with the stream. ! */ ! const std::string openvrml::resource_istream::type() const ! throw (std::bad_alloc) ! { ! return this->do_type(); ! } ! ! /** ! * @fn const std::string openvrml::resource_istream::do_type() const throw (std::bad_alloc) * * @brief Get the MIME content type associated with the stream. *************** *** 5986,5990 **** /** ! * @fn bool openvrml::resource_istream::data_available() const throw () * * @brief Indicates whether data is available to be read from the stream. --- 6014,6031 ---- /** ! * @brief Indicates whether data is available to be read from the stream. ! * ! * This function delegates to @c do_data_available. ! * ! * @return @c true if there is data in the stream buffer to be read; @c false ! * otherwise. ! */ ! bool openvrml::resource_istream::data_available() const throw () ! { ! return this->do_data_available(); ! } ! ! /** ! * @fn bool openvrml::resource_istream::do_data_available() const throw () * * @brief Indicates whether data is available to be read from the stream. Index: browser.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.h,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** browser.h 29 Nov 2005 05:58:09 -0000 1.37 --- browser.h 20 Dec 2005 08:37:43 -0000 1.38 *************** *** 32,41 **** public: virtual ~resource_istream() = 0; ! virtual const std::string url() const throw () = 0; ! virtual const std::string type() const throw () = 0; ! virtual bool data_available() const throw () = 0; protected: explicit resource_istream(std::streambuf * streambuf); }; --- 32,47 ---- public: virtual ~resource_istream() = 0; ! ! const std::string url() const throw (std::bad_alloc); ! const std::string type() const throw (std::bad_alloc); ! bool data_available() const throw (); protected: explicit resource_istream(std::streambuf * streambuf); + + private: + virtual const std::string do_url() const throw (std::bad_alloc) = 0; + virtual const std::string do_type() const throw (std::bad_alloc) = 0; + virtual bool do_data_available() const throw () = 0; }; |
From: Braden M. <br...@us...> - 2005-12-20 08:37:53
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29946/mozilla-plugin/src/openvrml-player Modified Files: player.cpp Log Message: Changed openvrml::resource_istream to use nonvirtual interface idiom. Index: player.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/player.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** player.cpp 27 Nov 2005 07:11:36 -0000 1.14 --- player.cpp 20 Dec 2005 08:37:44 -0000 1.15 *************** *** 841,855 **** } ! virtual const std::string url() const throw () { return this->streambuf_->url(); } ! virtual const std::string type() const throw () { return this->streambuf_->type(); } ! virtual bool data_available() const throw () { return this->streambuf_->data_available(); --- 841,856 ---- } ! private: ! virtual const std::string do_url() const throw () { return this->streambuf_->url(); } ! virtual const std::string do_type() const throw () { return this->streambuf_->type(); } ! virtual bool do_data_available() const throw () { return this->streambuf_->data_available(); |
From: Braden M. <br...@us...> - 2005-12-20 08:37:51
|
Update of /cvsroot/openvrml/openvrml/examples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29946/examples Modified Files: sdl_viewer.cpp Log Message: Changed openvrml::resource_istream to use nonvirtual interface idiom. Index: sdl_viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/examples/sdl_viewer.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** sdl_viewer.cpp 17 Aug 2005 20:57:38 -0000 1.6 --- sdl_viewer.cpp 20 Dec 2005 08:37:43 -0000 1.7 *************** *** 141,150 **** } ! virtual const std::string url() const throw () { return this->url_; } ! virtual const std::string type() const throw () { // --- 141,151 ---- } ! private: ! virtual const std::string do_url() const throw () { return this->url_; } ! virtual const std::string do_type() const throw () { // *************** *** 172,176 **** } ! virtual bool data_available() const throw () { return !!(*this); --- 173,177 ---- } ! virtual bool do_data_available() const throw () { return !!(*this); |
From: Braden M. <br...@us...> - 2005-12-20 08:37:51
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29946 Modified Files: ChangeLog Log Message: Changed openvrml::resource_istream to use nonvirtual interface idiom. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1090 retrieving revision 1.1091 diff -C2 -d -r1.1090 -r1.1091 *** ChangeLog 19 Dec 2005 07:33:39 -0000 1.1090 --- ChangeLog 20 Dec 2005 08:37:43 -0000 1.1091 *************** *** 1,2 **** --- 1,28 ---- + 2005-12-20 Braden McDaniel <br...@en...> + + Changed openvrml::resource_istream to use nonvirtual interface + idiom. + + * examples/sdl_viewer.cpp + (browser::do_get_resource(const std::string &)): Changed + file_resource_istream to override the private virtual functions of + openvrml::resource_istream. + * mozilla-plugin/src/openvrml-player/player.cpp + (browser::do_get_resource(const std::string &)): Changed + plugin_resource_istream to override the private virtual functions + of openvrml::resource_istream. + * src/libopenvrml/openvrml/browser.cpp + (openvrml::resource_istream::url() const): Changed to delegate to + openvrml::resource_istream::do_url. + (openvrml::resource_istream::type() const): Changed to delegate to + openvrml::resource_istream::do_type. + (openvrml::resource_istream::data_available() const): Changed to + delegate to openvrml::resource_istream::do_data_available. + * src/libopenvrml/openvrml/browser.h + (openvrml::resource_istream): Changed url, type, and + data_available functions to be nonvirtual; these now delegate to + private virtual functions do_url, do_type, and do_data_available, + respectively. + 2005-12-19 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2005-12-19 07:33:52
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3873/src/libopenvrml/openvrml Modified Files: node_impl_util.cpp node_impl_util.h script.cpp script.h vrml97node.cpp Log Message: Added additional fields to node implementations to support X3D node types. Index: node_impl_util.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node_impl_util.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** node_impl_util.h 29 Nov 2005 01:22:53 -0000 1.6 --- node_impl_util.h 19 Dec 2005 07:33:39 -0000 1.7 *************** *** 458,461 **** --- 458,462 ---- }; + exposedfield<sfnode> metadata; abstract_node(const node_type & type, *************** *** 542,546 **** abstract_node(const node_type & type, const boost::shared_ptr<openvrml::scope> & scope): ! node(type, scope) {} --- 543,548 ---- abstract_node(const node_type & type, const boost::shared_ptr<openvrml::scope> & scope): ! node(type, scope), ! metadata(*this) {} Index: node_impl_util.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node_impl_util.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** node_impl_util.cpp 29 Nov 2005 02:00:26 -0000 1.8 --- node_impl_util.cpp 19 Dec 2005 07:33:39 -0000 1.9 *************** *** 837,840 **** --- 837,846 ---- /** + * @var openvrml::node_impl_util::abstract_node::metadata + * + * @brief metadata exposedField. + */ + + /** * @fn openvrml::node_impl_util::abstract_node::abstract_node(const node_type & type, const boost::shared_ptr<openvrml::scope> & scope) * Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** vrml97node.cpp 13 Dec 2005 03:35:49 -0000 1.91 --- vrml97node.cpp 19 Dec 2005 07:33:39 -0000 1.92 *************** *** 1671,1674 **** --- 1671,1679 ---- }; + // so it can be overridden by switch node. + virtual void do_children_event_side_effect(const mfnode & value, + double timestamp) + throw (std::bad_alloc); + sfvec3f bbox_center_; sfvec3f bbox_size_; [...4829 lines suppressed...] new node_type_t::field_ptr<sfstring>( &world_info_node::title))); + } else if (*interface == *++supported_interface) { + worldInfoNodeType.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + node_type_t::event_listener_ptr_ptr( + new node_type_t::event_listener_ptr< + abstract_node<world_info_node>::exposedfield<sfnode> >( + &world_info_node::metadata)), + node_type_t::field_ptr_ptr( + new node_type_t::field_ptr< + abstract_node<world_info_node>::exposedfield<sfnode> >( + &world_info_node::metadata)), + node_type_t::event_emitter_ptr_ptr( + new node_type_t::event_emitter_ptr< + abstract_node<world_info_node>::exposedfield<sfnode> >( + &world_info_node::metadata))); } else { throw unsupported_interface(*interface); Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** script.cpp 12 Dec 2005 04:16:18 -0000 1.61 --- script.cpp 19 Dec 2005 07:33:39 -0000 1.62 *************** *** 510,518 **** // lexicographically increasing order according to their "id" member. // ! const boost::array<openvrml::node_interface, 3> built_in_script_interfaces_ = { openvrml::node_interface(openvrml::node_interface::field_id, openvrml::field_value::sfbool_id, "directOutput"), openvrml::node_interface(openvrml::node_interface::field_id, openvrml::field_value::sfbool_id, --- 510,521 ---- // lexicographically increasing order according to their "id" member. // ! const boost::array<openvrml::node_interface, 4> built_in_script_interfaces_ = { openvrml::node_interface(openvrml::node_interface::field_id, openvrml::field_value::sfbool_id, "directOutput"), + openvrml::node_interface(openvrml::node_interface::exposedfield_id, + openvrml::field_value::sfnode_id, + "metadata"), openvrml::node_interface(openvrml::node_interface::field_id, openvrml::field_value::sfbool_id, *************** *** 619,623 **** // // First, we need the set of node_interfaces *without* the built-in ! // Script node interfaces (url, directOutput, mustEvaluate). // node_interface_set interfaces; --- 622,626 ---- // // First, we need the set of node_interfaces *without* the built-in ! // Script node interfaces (url, directOutput, mustEvaluate, metadata). // node_interface_set interfaces; *************** *** 1088,1091 **** --- 1091,1192 ---- * @internal * + * @class openvrml::script_node::set_metadata_listener + * + * @brief set_metadata event listener. + */ + + /** + * @brief Construct. + * + * @param node a reference to the containing script_node. + */ + openvrml::script_node::set_metadata_listener:: + set_metadata_listener(script_node & node): + node_event_listener(node), + node_field_value_listener<sfnode>(node) + {} + + /** + * @brief Destroy. + */ + openvrml::script_node::set_metadata_listener::~set_metadata_listener() throw () + {} + + /** + * @brief Get the eventIn identifier. + * + * @return the eventIn identifier. + */ + const std::string + openvrml::script_node::set_metadata_listener::do_eventin_id() const throw () + { + return "set_metadata"; + } + + /** + * @brief Process an event. + * + * @param value new metadata value. + * @param timestamp the current time. + * + * @exception std::bad_alloc if memory allocation fails. + */ + void + openvrml::script_node::set_metadata_listener:: + do_process_event(const sfnode & value, const double timestamp) + throw (std::bad_alloc) + { + assert(dynamic_cast<openvrml::script_node *>(&this->node())); + openvrml::script_node & script_node = + dynamic_cast<openvrml::script_node &>(this->node()); + + script_node.metadata_ = value; + // + // metadata is an exposedField. + // + node::emit_event(script_node.metadata_changed_emitter_, timestamp); + } + + /** + * @internal + * + * @class openvrml::script_node::metadata_changed_emitter + * + * @brief metadata_changed event emitter. + */ + + /** + * @brief Construct. + * + * @param value the associated field value. + */ + openvrml::script_node::metadata_changed_emitter:: + metadata_changed_emitter(const sfnode & value) throw (): + openvrml::event_emitter(value), + openvrml::sfnode_emitter(value) + {} + + /** + * @brief Destroy. + */ + openvrml::script_node::metadata_changed_emitter::~metadata_changed_emitter() + throw () + {} + + /** + * @brief The eventOut identifier. + * + * @return the eventOut identifier. + */ + const std::string + openvrml::script_node::metadata_changed_emitter::do_eventout_id() const + throw () + { + return "metadata_changed"; + } + + /** + * @internal + * * @var openvrml::script_node::script_node_type openvrml::script_node::type * *************** *** 1253,1256 **** --- 1354,1359 ---- child_node(this->type, scope), type(class_), + set_metadata_listener_(*this), + metadata_changed_emitter_(this->metadata_), direct_output(false), must_evaluate(false), *************** *** 1373,1376 **** --- 1476,1481 ---- } else if (initial_value->first == "mustEvaluate") { this->must_evaluate.assign(*initial_value->second); + } else if (initial_value->first == "metadata") { + this->metadata_.assign(*initial_value->second); } } *************** *** 1573,1576 **** --- 1678,1683 ---- } else if (id == "mustEvaluate") { return this->must_evaluate; + } else if (id == "metadata") { + return this->metadata_; } else if ((itr = this->field_value_map_.find(id)) != this->field_value_map_.end()) { *************** *** 1598,1601 **** --- 1705,1710 ---- if (id == "url" || id == "set_url") { return this->set_url_listener; + } else if (id == "metadata" || id == "set_metadata") { + return this->set_metadata_listener_; } else { event_listener_map_t::iterator pos; *************** *** 1629,1632 **** --- 1738,1743 ---- if (id == "url" || id == "url_changed") { result = &this->url_changed_emitter_; + } else if (id == "metadata" || id == "metadata_changed") { + result = &this->metadata_changed_emitter_; } else { eventout_map_t::iterator pos; Index: script.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.h,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** script.h 12 Dec 2005 04:16:18 -0000 1.25 --- script.h 19 Dec 2005 07:33:39 -0000 1.26 *************** *** 305,309 **** --- 305,334 ---- }; + class set_metadata_listener : + public node_field_value_listener<sfnode> { + public: + explicit set_metadata_listener(script_node & node); + virtual ~set_metadata_listener() throw (); + + private: + virtual const std::string do_eventin_id() const throw (); + virtual void do_process_event(const sfnode & value, + double timestamp) + throw (std::bad_alloc); + }; + + class metadata_changed_emitter : public openvrml::sfnode_emitter { + public: + explicit metadata_changed_emitter(const sfnode & value) throw (); + virtual ~metadata_changed_emitter() throw (); + + private: + virtual const std::string do_eventout_id() const throw (); + }; + script_node_type type; + set_metadata_listener set_metadata_listener_; + sfnode metadata_; + metadata_changed_emitter metadata_changed_emitter_; sfbool direct_output; sfbool must_evaluate; |
From: Braden M. <br...@us...> - 2005-12-19 07:33:51
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3873 Modified Files: ChangeLog Log Message: Added additional fields to node implementations to support X3D node types. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1089 retrieving revision 1.1090 diff -C2 -d -r1.1089 -r1.1090 *** ChangeLog 13 Dec 2005 03:35:49 -0000 1.1089 --- ChangeLog 19 Dec 2005 07:33:39 -0000 1.1090 *************** *** 1,2 **** --- 1,364 ---- + 2005-12-19 Braden McDaniel <br...@en...> + + Added additional fields to node implementations to support X3D + node types. From Andrew Grieve <sg...@us...> + + * src/libopenvrml/openvrml/node_impl_util.cpp: Added doc-comment + for openvrml::node_impl_util::abstract_node<>::metadata. + * src/libopenvrml/openvrml/node_impl_util.h + (openvrml::node_impl_util::abstract_node<>): Added metadata + member. + (openvrml::node_impl_util::abstract_node<Derived>::abstract_node(const + node_type &, const boost::shared_ptr<openvrml::scope> &)): + Initialize metadata member. + * src/libopenvrml/openvrml/script.cpp + (built_in_script_interfaces_): Added metadata exposedField. + (openvrml::script_node::set_metadata_listener::set_metadata_listener(script_node&): + Added function definition. + (openvrml::script_node::set_metadata_listener::~set_metadata_listener(): + Added function definition. + (openvrml::script_node::set_metadata_listener::do_eventin_id() + const): Added function definiton. + (openvrml::script_node::set_metadata_listener::do_process_event(const + sfnode &, double)): Added function definiton. + (openvrml::script_node::metadata_changed_emitter::metadata_changed_emitter(const + sfnode &)): Added function definition. + (openvrml::script_node::metadata_changed_emitter::~metadata_changed_emitter()): + Added function definition. + (openvrml::script_node::metadata_changed_emitter::do_eventout_id() + const): Added function definition. + (openvrml::script_node::script_node(script_node_class &, const + boost::shared_ptr<openvrml::scope> &, const node_interface_set &, + const initial_value_map &)): Initialize set_metadata_listener_ and + metadata_changed_emitter_ members; assign initial value to + metadata_ member. + (openvrml::script_node::do_field(const std::string &) const): + Added case for metadata exposedField. + (openvrml::script_node::do_event_listener(const std::string &)): + Added case for metadata exposedField. + (openvrml::script_node::do_event_emitter(const std::string &)): + Added case for metadata exposedField. + * src/libopenvrml/openvrml/script.h (openvrml::script_node): Added + set_metadata_listener and metadata_changed_emitter classes; added + set_metadata_listener_, metadata_, and metadata_changed_emitter_ + members. + * src/libopenvrml/openvrml/vrml97node.cpp + (grouping_node_base<>): Added virtual function + do_children_event_side_effect(const mfnode &, double). + (grouping_node_base<>::children_exposedfield::event_side_effect(const + mfnode &, double)): Changed to delegate to + grouping_node_base<>::do_children_event_side_effect(const mfnode&, + double). + (appearance_node): Added fill_properties_ and line_properties_ + members. + (audio_clip_node): Added pause_time_, resume_time_, elapsed_time_, + elapsed_time_emitter_, is_paused_, and is_paused_emitter_ members. + (background_node): Added bind_time_ and bind_time_emitter_ + members. + (box_node): Added solid_ member. + (collision_node): Added is_active and is_active_emitter_ members. + (cone_node): Added solid_ member. + (cylinder_node): Added solid_ member. + (cylinder_sensor_node): Added description_, is_over_, and + is_over_emitter_ members. + (fog_node): Added bind_time_ and bind_time_emitter_ members. + (indexed_line_set_node): Added vertex_count_ member. + (inline_node): Added load_ member. + (lod_node): Inherit grouping_node_base<lod_node>; added + current_children_ member; removed do_bounding_volume member + function. + (movie_texture_node): Added pause_time_, resume_time_, + elapsed_time_, elapsed_time_emitter, is_paused_, and + is_paused_emitter_ members. + (navigation_info_node): Added transition_type_, bind_time_, and + bind_time_emitter_ members. + (plane_sensor_node): Added description_, is_over_, and + is_over_emitter_ members. + (proximity_sensor_node): Added center_of_rotation_changed_ and + center_of_rotation_changed_emitter_ members. + (shape_node): Added bbox_center_ and bbox_size_ members. + (sphere_node): Added solid_ member. + (sphere_sensor_node): Added description_, is_over_, and + is_over_emitter_ members. + (switch_node): Inherit grouping_node_base<switch_node>; removed + choice_exposedfield member class; removed choice_, children_, and + bsphere members; added current_children_ member; removed + do_bounding_volume member function; added + do_children_event_side_effect virtual function. + (text_node): Added solid_ member. + (time_sensor_node): Added pause_time_, resume_time_, + elapsed_time_, elapsed_time_emitter_, is_paused_, and + is_paused_emitter_ members. + (touch_sensor_node): Added description_ member. + (transform_node): Removed do_bounding_volume member function. + (viewpoint_node): Changed type of description_ member from + openvrml::sfstring to + openvrml::node_impl_util::abstract_node<viewpoint_node>::exposedfield<sfstring>; + added center_of_rotation_ member. + (anchor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (appearance_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for + metadata, fillProperties, and lineProperties exposedFields. + (appearance_node::appearance_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope> &)): Initialize + fill_properties_ and line_properties_ members. + (audio_clip_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for + metadata, pauseTime, and resumeTime exposedFields and elapsedTime + and isPaused eventOuts. + (audio_clip_node::audio_clip_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope> &)): Initialize + pause_time_, resume_time_, elapsed_time_emitter_, and + is_paused_emitter_ members. + (background_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and bindTime eventOut. + (background_node::background_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope> &)): Initialize + bind_time_emitter_ member. + (billboard_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (box_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and solid field. + (box_node::box_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize solid_ member. + (collision_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and enabled exposedFields and isActive eventOut. + (collision_node::collision_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize + is_active_emitter_ member. + (color_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (color_interpolator_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (cone_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and solid field. + (cone_node::cone_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize solid_ member. + (coordinate_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (coordinate_interpolator_class::do_create_type(const std::string&, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (cylinder_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and solid field. + (cylinder_node::cylinder_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize solid_ member. + (cyinder_sensor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and description exposedFields and isOver eventOut. + (cylinder_sensor_node::cylinder_sensor_node(const + openvrml::node_type &, const + boost::shared_ptr<openvrml::scope>&)): Initialize description_ and + is_over_emitter_ members. + (directional_light_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (elevation_grid_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (extrusion_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (fog_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and bindTime eventOut. + (fog_node::fog_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize + bind_time_emitter_ member. + (font_style_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (group_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (image_texture_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (indexed_face_set_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (indexed_line_set_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and vertexCount exposedFields. + (indexed_line_set_node::indexed_line_set_node(const + openvrml::node_type &, const boost::shared_ptr<openvrml::scope> + &)): Initialize vertex_count_ member. + (inline_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and load exposedFields. + (inline_node::inline_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize load_ member. + (lod_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for + metadata, and children exposedFields, addChildren and + removeChildren eventIns, and bboxCenter and bboxSize fields. + (lod_node::lod_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope> &)): Initialize + current_children_ member; removed initializers for level_ and + children_ members. + (lod_node::modified() const): Changed to use children_ instead of + level_. + (lod_node::do_render_child(openvrml::viewer &, + openvrml::rendering_context)): Changed to use children_ instead of + level_. + (lod_node::do_children() const): Changed to use current_children_ + instead of children_. + (lod_node::recalc_bsphere()): Changed to use children_ instead of + level_. + (material_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (movie_texture_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + pauseTime, and resumeTime exposedFields, and elapsedTime and + isPaused eventOuts. + (movie_texture_node::movie_texture_node(const + openvrml::node_type&, const boost::shared_ptr<openvrml::scope>&)): + Initialize pause_time_, resume_time_, elapsed_time_emitter_, and + is_paused_emitter_ members. + (navigation_info_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and transitionType exposedFields, and bindTime eventOut. + (navigation_info_node::navigation_info_node(const + openvrml::node_type&, const boost::shared_ptr<openvrml::scope>&)): + Initialize transition_type_ and bind_time_emitter_ members. + (normal_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (normal_interpolator_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (orienation_interpolator_class::do_create_type(const std::string&, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (pixel_texture_class::do_create_type(const std::string&, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (plane_sensor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and description exposedFields and isOver eventOut. + (plane_sensor_node::plane_sensor_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope>&)): Initialize + description_ and is_over_emitter_ members. + (point_light_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (point_set_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (position_interpolator_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (proximity_sensor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and centerOfRotation_changed eventOut. + (proximity_sensor_node::proximity_sensor_node(const + openvrml::node_type &, const + boost::shared_ptr<openvrml::scope>&)): Initialize + center_of_rotation_changed_emitter_ member. + (scalar_interpolator_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (shape_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and bboxCenter and bboxSize fields. + (shape_node::shape_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope>&)): Initialize bbox_size_ + member. + (sound_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (sphere_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and solid field. + (sphere_node::sphere_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope>&)): Initialize solid_ member. + (sphere_sensor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and description exposedFields and isOver eventOut. + (sphere_sensor_node::sphere_sensor_node(const + openvrml::node_type&, const boost::shared_ptr<openvrml::scope>&)): + Initialize description_ and is_over_emitter_ members. + (spot_light_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (switch_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for + addChildren and removeChildren eventIns, children and metadata + exposedFields, and bboxCenter and bboxSize fields. + (switch_node::do_children_event_side_effect(const mfnode &, + double)): Moved logic from + switch_node::choice_exposedfield::event_side_effect to here. + (switch_node::which_choice_exposedfield::event_side_effect(const + sfint32 &, double)): Changed to use current_children_ instead of + children_. + (switch_node::switch_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope &)): Initialize + grouping_node_base<switch_node> and current_children_ members. + (switch_node::modified() const): Changed to use current_children_ + instead of children_. + (switch_node::do_render_child(openvrml::viewer &, + rendering_contex)): Changed to use current_children_ instead of + children_. + (switch_node::do_children(openvrml::viewer &, rendering_contex)): + Changed to use current_children_ instead of children_. + (switch_node::recalc_bsphere()): Changed to use current_children_ + instead of children_. + (text_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField and solid field. + (text_node::text_node(const openvrml::node_type &, const + boost::shared_ptr<openvrml::scope &)): Initialize solid_ member. + (texture_coordinate_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (texture_transform_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (time_sensor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for + metadata, pauseTime, and resumeTime exposedFields, and elapsedTime + and isPaused eventOuts. + (time_sensor_node::time_sensor_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope &)): Initialize + pause_time_, resume_time, elapsed_time_emitter_, and + is_paused_emitter_ members. + (touch_sensor_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + and description exposedFields. + (touch_sensor_node::touch_sensor_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope &)): Initialize + description_ member. + (transform_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for metadata + exposedField. + (transform_node::recalc_bsphere()): Delegate to + grouping_node_base<self_t>::recalc_bsphere(). + (viewpoint_class::do_create_type(const std::string &, const + openvrml::node_interface_set &) const): Added support for + description, metadata, and centerOfRotation exposedFields. + (viewpoint_node::touch_sensor_node(const openvrml::node_type &, + const boost::shared_ptr<openvrml::scope &)): Initialize + description_ and center_of_rotation_ members. + (viewpoint_node::description() const): Changed to use description_ + exposedfield. + (visibility_sensor_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + (world_info_class::do_create_type(const std::string &, + const openvrml::node_interface_set &) const): Added support for + metadata exposedField. + 2005-12-12 Braden McDaniel <br...@en...> |
From: Jyh-Shyong H. <c00...@nc...> - 2005-12-13 05:31:19
|
Hi, I am installing OpenVRML 0.15.10 on my Linux PC running SuSE10.0 from the source code, I got the following error message in the final stage of make: ... make[4]: Entering directory `/usr/src/packages/SOURCES/openvrml-0.15.10/mozilla-plugin/src' Making all in openvrml-player make[5]: Entering directory `/usr/src/packages/SOURCES/openvrml-0.15.10/mozilla-plugin/src/openvrml-player' if g++ -DPACKAGE_NAME=\"OpenVRML\ Mozilla\ Plugin\" -DPACKAGE_TARNAME=\"openvrml-mozilla-plugin\" -DPACKAGE_VERSION=\"0.15.10\" -DPACKAGE_STRING=\"OpenVRML\ Mozilla\ Plugin\ 0.15.10\" -DPACKAGE_BUGREPORT=\"ope...@li...\" -DPACKAGE=\"openvrml-mozilla-plugin\" -DVERSION=\"0.15.10\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_PTHREAD=1 -I. -I. -I../../lib/gtkglext -I../../lib/gtkglext/gdk -I../../../src/libopenvrml -I../../../src/libopenvrml-gl -I -DGTK_DISABLE_DEPRECATED -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/libpng12 -I/opt/gnome/include/gtk-2.0 -I/opt/gnome/lib64/gtk-2.0/include -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/pango-1.0 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib64/glib-2.0/include -I/usr/X11R6/include -pthread -g -O2 -MT player.o -MD -MP -MF ".deps/player.Tpo" -c -o player.o player.cpp; \ then mv -f ".deps/player.Tpo" ".deps/player.Po"; else rm -f ".deps/player.Tpo"; exit 1; fi /usr/include/boost/numeric/conversion/detail/converter.hpp:233: error: expected unqualified-id before numeric constant /usr/include/boost/numeric/conversion/detail/converter.hpp:238: error: type/value mismatch at argument 6 in template parameter list for ‘template<class expr0, class expr1, class TT, class TF, class FT, class FF> struct boost::numeric::convdetail::for_both’ /usr/include/boost/numeric/conversion/detail/converter.hpp:238: error: expected a type, got ‘0l’ /usr/include/boost/numeric/conversion/detail/converter.hpp:238: error: ‘type’ does not name a type make[5]: *** [player.o] Error 1 make[5]: Leaving directory `/usr/src/packages/SOURCES/openvrml-0.15.10/mozilla-plugin/src/openvrml-player' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/usr/src/packages/SOURCES/openvrml-0.15.10/mozilla-plugin/src' make[3]: *** [all] Error 2 make[3]: Leaving directory `/usr/src/packages/SOURCES/openvrml-0.15.10/mozilla-plugin/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/packages/SOURCES/openvrml-0.15.10/mozilla-plugin' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/packages/SOURCES/openvrml-0.15.10' make: *** [all] Error 2 My system has boost-1.33.0-3_x86_64 and boost-devel-1.33.0-3_x86_64 rpms installed. I wonder if this problem is caused by boost? Any help would be appreciated. Jyh-Shyong Ho,Ph.D. Research Scientist National Center for High Performance Computing Hsinchu, Taiwan,ROC |
From: Braden M. <br...@us...> - 2005-12-13 03:35:57
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12877/src/libopenvrml/openvrml Modified Files: vrml97node.cpp Log Message: Changed the name of "recalcBSphere" member functions to "recalc_bsphere" to match project naming convention. Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.90 retrieving revision 1.91 diff -C2 -d -r1.90 -r1.91 *** vrml97node.cpp 12 Dec 2005 16:05:38 -0000 1.90 --- vrml97node.cpp 13 Dec 2005 03:35:49 -0000 1.91 *************** *** 2987,2991 **** rendering_context context); ! void recalcBSphere(); }; --- 2987,2991 ---- rendering_context context); ! void recalc_bsphere(); }; *************** *** 3060,3064 **** virtual const std::vector<boost::intrusive_ptr<node> > & do_children() const throw (); ! virtual void recalcBSphere(); }; --- 3060,3064 ---- virtual const std::vector<boost::intrusive_ptr<node> > & do_children() const throw (); ! virtual void recalc_bsphere(); }; *************** *** 3369,3373 **** virtual bool do_emissive() const throw (); ! void recalcBSphere(); }; --- 3369,3373 ---- virtual bool do_emissive() const throw (); ! void recalc_bsphere(); }; *************** *** 3649,3653 **** virtual const std::vector<boost::intrusive_ptr<node> > & do_children() const throw (); ! virtual void recalcBSphere(); }; --- 3649,3653 ---- virtual const std::vector<boost::intrusive_ptr<node> > & do_children() const throw (); ! virtual void recalc_bsphere(); }; *************** *** 12614,12618 **** * @brief Recalculate the bounding volume. */ ! void indexed_face_set_node::recalcBSphere() { // take the bvolume of all the points. technically, we should figure --- 12614,12618 ---- * @brief Recalculate the bounding volume. */ ! void indexed_face_set_node::recalc_bsphere() { // take the bvolume of all the points. technically, we should figure *************** *** 12642,12646 **** { if (this->bounding_volume_dirty()) { ! const_cast<indexed_face_set_node *>(this)->recalcBSphere(); } return this->bsphere; --- 12642,12646 ---- { if (this->bounding_volume_dirty()) { ! const_cast<indexed_face_set_node *>(this)->recalc_bsphere(); } return this->bsphere; *************** *** 13351,13355 **** { if (this->bounding_volume_dirty()) { ! const_cast<lod_node *>(this)->recalcBSphere(); } return this->bsphere; --- 13351,13355 ---- { if (this->bounding_volume_dirty()) { ! const_cast<lod_node *>(this)->recalc_bsphere(); } return this->bsphere; *************** *** 13370,13374 **** * @brief Recalculate the bounding volume. */ ! void lod_node::recalcBSphere() { this->bsphere = bounding_sphere(); --- 13370,13374 ---- * @brief Recalculate the bounding volume. */ ! void lod_node::recalc_bsphere() { this->bsphere = bounding_sphere(); *************** *** 16747,16751 **** * @brief Recalculate the bounding volume. */ ! void point_set_node::recalcBSphere() { this->bsphere = bounding_sphere(); --- 16747,16751 ---- * @brief Recalculate the bounding volume. */ ! void point_set_node::recalc_bsphere() { this->bsphere = bounding_sphere(); *************** *** 16772,16776 **** { if (this->bounding_volume_dirty()) { ! const_cast<point_set_node *>(this)->recalcBSphere(); } return this->bsphere; --- 16772,16776 ---- { if (this->bounding_volume_dirty()) { ! const_cast<point_set_node *>(this)->recalc_bsphere(); } return this->bsphere; *************** *** 19628,19632 **** { if (this->bounding_volume_dirty()) { ! const_cast<switch_node *>(this)->recalcBSphere(); } return this->bsphere; --- 19628,19632 ---- { if (this->bounding_volume_dirty()) { ! const_cast<switch_node *>(this)->recalc_bsphere(); } return this->bsphere; *************** *** 19647,19651 **** * @brief Recalculate the bounding volume. */ ! void switch_node::recalcBSphere() { this->bsphere = bounding_sphere(); --- 19647,19651 ---- * @brief Recalculate the bounding volume. */ ! void switch_node::recalc_bsphere() { this->bsphere = bounding_sphere(); |
From: Braden M. <br...@us...> - 2005-12-13 03:35:56
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12877 Modified Files: ChangeLog Log Message: Changed the name of "recalcBSphere" member functions to "recalc_bsphere" to match project naming convention. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1088 retrieving revision 1.1089 diff -C2 -d -r1.1088 -r1.1089 *** ChangeLog 12 Dec 2005 19:23:08 -0000 1.1088 --- ChangeLog 13 Dec 2005 03:35:49 -0000 1.1089 *************** *** 1,4 **** --- 1,28 ---- 2005-12-12 Braden McDaniel <br...@en...> + Changed the name of "recalcBSphere" member functions to + "recalc_bsphere" to match project naming convention. + From Andrew Grieve <sg...@us...> + + * src/libopenvrml/openvrml/vrml97node.cpp + (indexed_face_set_node): Changed function name from + "recalcBSphere" to "recalc_bsphere". + (lod_node): Changed function name from "recalcBSphere" to + "recalc_bsphere". + (point_set_node): Changed function name from "recalcBSphere" to + "recalc_bsphere". + (switch_node): Changed function name from "recalcBSphere" to + "recalc_bsphere". + (indexed_face_set_node::do_bounding_volume() const): Changed + function name from "recalcBSphere" to "recalc_bsphere". + (lod_node::do_bounding_volume() const): Changed function name from + "recalcBSphere" to "recalc_bsphere". + (point_set_node::do_bounding_volume() const): Changed function + name from "recalcBSphere" to "recalc_bsphere". + (switch_node::do_bounding_volume() const): Changed function name + from "recalcBSphere" to "recalc_bsphere". + + 2005-12-12 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/Vrml97Parser.g (Vrml97Parser::node): Removed unused exception variable from catch block. |
From: Braden M. <br...@us...> - 2005-12-12 19:23:19
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2926/src/libopenvrml/openvrml Modified Files: Vrml97Parser.g Log Message: Removed unused exception variable from catch block. Index: Vrml97Parser.g =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/Vrml97Parser.g,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** Vrml97Parser.g 8 Dec 2005 06:50:12 -0000 1.44 --- Vrml97Parser.g 12 Dec 2005 19:23:08 -0000 1.45 *************** *** 1259,1263 **** LT(1)->getColumn()); } ! catch [std::bad_cast & ex] { throw SemanticException("incorrect value type for field or " "exposedField", --- 1259,1263 ---- LT(1)->getColumn()); } ! catch [std::bad_cast &] { throw SemanticException("incorrect value type for field or " "exposedField", |
From: Braden M. <br...@us...> - 2005-12-12 19:23:19
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2926 Modified Files: ChangeLog Log Message: Removed unused exception variable from catch block. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1087 retrieving revision 1.1088 diff -C2 -d -r1.1087 -r1.1088 *** ChangeLog 12 Dec 2005 17:36:19 -0000 1.1087 --- ChangeLog 12 Dec 2005 19:23:08 -0000 1.1088 *************** *** 1,4 **** --- 1,9 ---- 2005-12-12 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/Vrml97Parser.g (Vrml97Parser::node): + Removed unused exception variable from catch block. + + 2005-12-12 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC7_1/OpenVRML/openvrml/openvrml.vcproj: Define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS and |
From: Braden M. <br...@us...> - 2005-12-12 17:36:33
|
Update of /cvsroot/openvrml/openvrml/ide-projects/Windows/VisualC7_1/OpenVRML/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5483/ide-projects/Windows/VisualC7_1/OpenVRML/openvrml Modified Files: openvrml.vcproj Log Message: Define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS and BOOST_MPL_LIMIT_VECTOR_SIZE=30. The default boost::mpl::vector size limit of 20 is not sufficient. Index: openvrml.vcproj =================================================================== RCS file: /cvsroot/openvrml/openvrml/ide-projects/Windows/VisualC7_1/OpenVRML/openvrml/openvrml.vcproj,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** openvrml.vcproj 17 Nov 2005 21:51:14 -0000 1.10 --- openvrml.vcproj 12 Dec 2005 17:36:19 -0000 1.11 *************** *** 23,27 **** Optimization="0" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml;..\..\..\..\..\lib\antlr" ! PreprocessorDefinitions="WIN32;BOOST_SPIRIT_THREADSAFE;PACKAGE_VERSION=\"0.15.99\";OPENVRML_BUILD_LIB" MinimalRebuild="TRUE" BasicRuntimeChecks="0" --- 23,27 ---- Optimization="0" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml;..\..\..\..\..\lib\antlr" ! PreprocessorDefinitions="WIN32;BOOST_SPIRIT_THREADSAFE;PACKAGE_VERSION=\"0.15.99\";OPENVRML_BUILD_LIB;BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30" MinimalRebuild="TRUE" BasicRuntimeChecks="0" *************** *** 72,76 **** OmitFramePointers="TRUE" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml;..\..\..\..\..\lib\antlr" ! PreprocessorDefinitions="WIN32;BOOST_SPIRIT_THREADSAFE;NDEBUG;PACKAGE_VERSION=\"0.15.99\";OPENVRML_BUILD_LIB" StringPooling="TRUE" RuntimeLibrary="2" --- 72,76 ---- OmitFramePointers="TRUE" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml;..\..\..\..\..\lib\antlr" ! PreprocessorDefinitions="WIN32;BOOST_SPIRIT_THREADSAFE;NDEBUG;PACKAGE_VERSION=\"0.15.99\";OPENVRML_BUILD_LIB;BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30" StringPooling="TRUE" RuntimeLibrary="2" |
From: Braden M. <br...@us...> - 2005-12-12 17:36:32
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5483 Modified Files: ChangeLog Log Message: Define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS and BOOST_MPL_LIMIT_VECTOR_SIZE=30. The default boost::mpl::vector size limit of 20 is not sufficient. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1086 retrieving revision 1.1087 diff -C2 -d -r1.1086 -r1.1087 *** ChangeLog 12 Dec 2005 16:05:38 -0000 1.1086 --- ChangeLog 12 Dec 2005 17:36:19 -0000 1.1087 *************** *** 1,4 **** --- 1,11 ---- 2005-12-12 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC7_1/OpenVRML/openvrml/openvrml.vcproj: + Define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS and + BOOST_MPL_LIMIT_VECTOR_SIZE=30. The default boost::mpl::vector + size limit of 20 is not sufficient. + + 2005-12-12 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/vrml97node.cpp (point_set_class): Changed do_create_type argument name to be |
From: Braden M. <br...@us...> - 2005-12-12 16:05:55
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18080/src/libopenvrml/openvrml Modified Files: vrml97node.cpp Log Message: Changed argument names in function declarations to be consistent with the definitions. Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.89 retrieving revision 1.90 diff -C2 -d -r1.89 -r1.90 *** vrml97node.cpp 11 Dec 2005 04:23:28 -0000 1.89 --- vrml97node.cpp 12 Dec 2005 16:05:38 -0000 1.90 *************** *** 707,711 **** virtual const boost::shared_ptr<node_type> do_create_type(const std::string & id, ! const node_interface_set & interface) const throw (unsupported_interface, std::bad_alloc); }; --- 707,711 ---- virtual const boost::shared_ptr<node_type> do_create_type(const std::string & id, ! const node_interface_set & interfaces) const throw (unsupported_interface, std::bad_alloc); }; *************** *** 787,791 **** virtual const boost::shared_ptr<node_type> do_create_type(const std::string & id, ! const node_interface_set & interface) const throw (unsupported_interface, std::bad_alloc); }; --- 787,791 ---- virtual const boost::shared_ptr<node_type> do_create_type(const std::string & id, ! const node_interface_set & interfaces) const throw (unsupported_interface, std::bad_alloc); }; |
From: Braden M. <br...@us...> - 2005-12-12 16:05:55
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18080 Modified Files: ChangeLog Log Message: Changed argument names in function declarations to be consistent with the definitions. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1085 retrieving revision 1.1086 diff -C2 -d -r1.1085 -r1.1086 *** ChangeLog 12 Dec 2005 04:16:17 -0000 1.1085 --- ChangeLog 12 Dec 2005 16:05:38 -0000 1.1086 *************** *** 1,2 **** --- 1,10 ---- + 2005-12-12 Braden McDaniel <br...@en...> + + * src/libopenvrml/openvrml/vrml97node.cpp + (point_set_class): Changed do_create_type argument name to be + consistent with the function definition. + (sound_class): Changed do_create_type argument name to be + consistent with the function definition. + 2005-12-11 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2005-12-12 04:16:28
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv586/src/libopenvrml/openvrml Modified Files: browser.cpp field_value.cpp node.cpp script.cpp script.h Log Message: Replaced several instances of switching on field_value::type with boost::mpl::for_each. This consolidates several lists of the field_value types into one--openvrml_::field_value_types in private.h--and allows for more concise code. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.114 retrieving revision 1.115 diff -C2 -d -r1.114 -r1.115 *** browser.cpp 8 Dec 2005 06:50:13 -0000 1.114 --- browser.cpp 12 Dec 2005 04:16:18 -0000 1.115 *************** *** 37,40 **** --- 37,41 ---- # include <boost/bind.hpp> # include <boost/functional.hpp> + # include <boost/mpl/for_each.hpp> # include <boost/spirit.hpp> # include <boost/spirit/phoenix.hpp> *************** *** 198,210 **** }; [...1262 lines suppressed...] ! bool succeeded = eventout_is(map_entry->second->value().type(), ! eventout, ! *map_entry->second); ! assert(succeeded); } --- 5549,5561 ---- map_entry != this->eventout_map.end(); ++map_entry) { + using boost::mpl::for_each; + using openvrml_::field_value_types; + openvrml::event_emitter & eventout = this->proto_node_->event_emitter(map_entry->first); ! for_each<field_value_types>( ! eventout_is(map_entry->second->value().type(), ! eventout, ! *map_entry->second)); } Index: field_value.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/field_value.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** field_value.cpp 11 Dec 2005 04:23:28 -0000 1.21 --- field_value.cpp 12 Dec 2005 04:16:18 -0000 1.22 *************** *** 29,32 **** --- 29,33 ---- # include <boost/array.hpp> # include <private.h> + # include <boost/mpl/for_each.hpp> # include "field_value.h" # include "node.h" *************** *** 347,350 **** --- 348,374 ---- */ + namespace { + + struct OPENVRML_LOCAL create_field_value { + create_field_value(const openvrml::field_value::type_id type, + std::auto_ptr<openvrml::field_value> & fv): + type_(type), + field_value_(&fv) + {} + + template <typename T> + void operator()(T) const + { + if (T::field_value_type_id == this->type_) { + this->field_value_->reset(new T); + } + } + + private: + openvrml::field_value::type_id type_; + std::auto_ptr<openvrml::field_value> * field_value_; + }; + } + /** * @brief Create a default instance of the type specified by @p type. *************** *** 360,429 **** throw (std::bad_alloc) { ! using std::auto_ptr; ! switch (type) { ! case field_value::sfbool_id: ! return auto_ptr<field_value>(new sfbool); ! case field_value::sfcolor_id: ! return auto_ptr<field_value>(new sfcolor); ! case field_value::sfcolorrgba_id: ! return auto_ptr<field_value>(new sfcolorrgba); ! case field_value::sffloat_id: ! return auto_ptr<field_value>(new sffloat); ! case field_value::sfdouble_id: ! return auto_ptr<field_value>(new sfdouble); ! case field_value::sfimage_id: ! return auto_ptr<field_value>(new sfimage); ! case field_value::sfint32_id: ! return auto_ptr<field_value>(new sfint32); ! case field_value::sfnode_id: ! return auto_ptr<field_value>(new sfnode); ! case field_value::sfrotation_id: ! return auto_ptr<field_value>(new sfrotation); ! case field_value::sfstring_id: ! return auto_ptr<field_value>(new sfstring); ! case field_value::sftime_id: ! return auto_ptr<field_value>(new sftime); ! case field_value::sfvec2f_id: ! return auto_ptr<field_value>(new sfvec2f); ! case field_value::sfvec2d_id: ! return auto_ptr<field_value>(new sfvec2d); ! case field_value::sfvec3f_id: ! return auto_ptr<field_value>(new sfvec3f); ! case field_value::sfvec3d_id: ! return auto_ptr<field_value>(new sfvec3d); ! case field_value::mfbool_id: ! return auto_ptr<field_value>(new mfbool); ! case field_value::mfcolor_id: ! return auto_ptr<field_value>(new mfcolor); ! case field_value::mfcolorrgba_id: ! return auto_ptr<field_value>(new mfcolorrgba); ! case field_value::mffloat_id: ! return auto_ptr<field_value>(new mffloat); ! case field_value::mfdouble_id: ! return auto_ptr<field_value>(new mfdouble); ! case field_value::mfimage_id: ! return auto_ptr<field_value>(new mfimage); ! case field_value::mfint32_id: ! return auto_ptr<field_value>(new mfint32); ! case field_value::mfnode_id: ! return auto_ptr<field_value>(new mfnode); ! case field_value::mfrotation_id: ! return auto_ptr<field_value>(new mfrotation); ! case field_value::mfstring_id: ! return auto_ptr<field_value>(new mfstring); ! case field_value::mftime_id: ! return auto_ptr<field_value>(new mftime); ! case field_value::mfvec2f_id: ! return auto_ptr<field_value>(new mfvec2f); ! case field_value::mfvec2d_id: ! return auto_ptr<field_value>(new mfvec2d); ! case field_value::mfvec3f_id: ! return auto_ptr<field_value>(new mfvec3f); ! case field_value::mfvec3d_id: ! return auto_ptr<field_value>(new mfvec3d); ! default: ! assert(false); ! } ! return auto_ptr<field_value>(0); } --- 384,394 ---- throw (std::bad_alloc) { ! using boost::mpl::for_each; ! using openvrml_::field_value_types; ! ! std::auto_ptr<field_value> result; ! for_each<field_value_types>(create_field_value(type, result)); ! assert(result.get()); ! return result; } Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** node.cpp 11 Dec 2005 04:23:28 -0000 1.72 --- node.cpp 12 Dec 2005 04:16:18 -0000 1.73 *************** *** 30,33 **** --- 30,34 ---- # include <boost/bind.hpp> # include <boost/lexical_cast.hpp> + # include <boost/mpl/for_each.hpp> # include "private.h" # include "browser.h" *************** *** 2310,2313 **** --- 2311,2340 ---- namespace { + struct OPENVRML_LOCAL field_printer_ { + field_printer_(const openvrml::node & node, + openvrml::field_value::type_id type, + const std::string & interface_id, + std::ostream & out): + node_(&node), + type_(type), + interface_id_(&interface_id), + out_(&out) + {} + + template <typename T> + void operator()(T) const + { + if (T::field_value_type_id == this->type_) { + (*this->out_) << this->node_->field<T>(*this->interface_id_); + } + } + + private: + const openvrml::node * node_; + openvrml::field_value::type_id type_; + const std::string * interface_id_; + std::ostream * out_; + }; + const short indent_increment_ = 4; *************** *** 2326,2427 **** { using namespace openvrml; if (interface.type == node_interface::exposedfield_id || interface.type == node_interface::field_id) { this->out << std::string(this->indent + indent_increment_, ' ') << interface.id << ' '; ! switch (interface.field_type) { ! case field_value::sfbool_id: ! this->out << n.field<sfbool>(interface.id); ! break; ! case field_value::sfcolor_id: ! this->out << n.field<sfcolor>(interface.id); ! break; ! case field_value::sfcolorrgba_id: ! this->out << n.field<sfcolorrgba>(interface.id); ! break; ! case field_value::sfdouble_id: ! this->out << n.field<sfdouble>(interface.id); ! break; ! case field_value::sffloat_id: ! this->out << n.field<sffloat>(interface.id); ! break; ! case field_value::sfimage_id: ! this->out << n.field<sfimage>(interface.id); ! break; ! case field_value::sfint32_id: ! this->out << n.field<sfint32>(interface.id); ! break; ! case field_value::sfnode_id: ! this->out << n.field<sfnode>(interface.id); ! break; ! case field_value::sfrotation_id: ! this->out << n.field<sfrotation>(interface.id); ! break; ! case field_value::sfstring_id: ! this->out << n.field<sfstring>(interface.id); ! break; ! case field_value::sftime_id: ! this->out << n.field<sftime>(interface.id); ! break; ! case field_value::sfvec2f_id: ! this->out << n.field<sfvec2f>(interface.id); ! break; ! case field_value::sfvec2d_id: ! this->out << n.field<sfvec2d>(interface.id); ! break; ! case field_value::sfvec3f_id: ! this->out << n.field<sfvec3f>(interface.id); ! break; ! case field_value::sfvec3d_id: ! this->out << n.field<sfvec3d>(interface.id); ! break; ! case field_value::mfbool_id: ! this->out << n.field<mfbool>(interface.id); ! break; ! case field_value::mfcolor_id: ! this->out << n.field<mfcolor>(interface.id); ! break; ! case field_value::mfcolorrgba_id: ! this->out << n.field<mfcolorrgba>(interface.id); ! break; ! case field_value::mfdouble_id: ! this->out << n.field<mfdouble>(interface.id); ! break; ! case field_value::mffloat_id: ! this->out << n.field<mffloat>(interface.id); ! break; ! case field_value::mfimage_id: ! this->out << n.field<mfimage>(interface.id); ! break; ! case field_value::mfint32_id: ! this->out << n.field<mfint32>(interface.id); ! break; ! case field_value::mfnode_id: ! this->out << n.field<mfnode>(interface.id); ! break; ! case field_value::mfrotation_id: ! this->out << n.field<mfrotation>(interface.id); ! break; ! case field_value::mfstring_id: ! this->out << n.field<mfstring>(interface.id); ! break; ! case field_value::mftime_id: ! this->out << n.field<mftime>(interface.id); ! break; ! case field_value::mfvec2f_id: ! this->out << n.field<mfvec2f>(interface.id); ! break; ! case field_value::mfvec2d_id: ! this->out << n.field<mfvec2d>(interface.id); ! break; ! case field_value::mfvec3f_id: ! this->out << n.field<mfvec3f>(interface.id); ! break; ! case field_value::mfvec3d_id: ! this->out << n.field<mfvec3d>(interface.id); ! break; ! case field_value::invalid_type_id: ! assert(!"invalid field_value::type_id"); ! } } } --- 2353,2367 ---- { using namespace openvrml; + using boost::mpl::for_each; + using openvrml_::field_value_types; if (interface.type == node_interface::exposedfield_id || interface.type == node_interface::field_id) { this->out << std::string(this->indent + indent_increment_, ' ') << interface.id << ' '; ! for_each<field_value_types>( ! field_printer_(n, ! interface.field_type, ! interface.id, ! this->out)); } } *************** *** 2530,2543 **** namespace { ! template <typename FieldValue> ! OPENVRML_LOCAL bool add_listener(openvrml::event_emitter & emitter, ! openvrml::event_listener & listener) ! throw (std::bad_alloc, std::bad_cast) ! { ! using openvrml::field_value_emitter; ! using openvrml::field_value_listener; ! return dynamic_cast<field_value_emitter<FieldValue> &>(emitter) ! .add(dynamic_cast<field_value_listener<FieldValue> &>(listener)); ! } } --- 2470,2498 ---- namespace { ! struct OPENVRML_LOCAL add_listener { ! add_listener(openvrml::event_emitter & emitter, ! openvrml::event_listener & listener, ! bool & added_route): ! emitter_(&emitter), ! listener_(&listener), ! added_route_(&added_route) ! {} ! ! template <typename T> ! void operator()(T) const ! { ! if (T::field_value_type_id == this->emitter_->value().type()) { ! typedef openvrml::field_value_emitter<T> emitter_t; ! typedef openvrml::field_value_listener<T> listener_t; ! *this->added_route_ = ! dynamic_cast<emitter_t &>(*this->emitter_).add( ! dynamic_cast<listener_t &>(*this->listener_)); ! } ! } ! ! openvrml::event_emitter * emitter_; ! openvrml::event_listener * listener_; ! bool * added_route_; ! }; } *************** *** 2579,2676 **** bool added_route = false; try { ! switch (emitter.value().type()) { ! case field_value::sfbool_id: ! added_route = add_listener<sfbool>(emitter, listener); ! break; ! case field_value::sfcolor_id: ! added_route = add_listener<sfcolor>(emitter, listener); ! break; ! case field_value::sfcolorrgba_id: ! added_route = add_listener<sfcolorrgba>(emitter, listener); ! break; ! case field_value::sffloat_id: ! added_route = add_listener<sffloat>(emitter, listener); ! break; ! case field_value::sfdouble_id: ! added_route = add_listener<sfdouble>(emitter, listener); ! break; ! case field_value::sfimage_id: ! added_route = add_listener<sfimage>(emitter, listener); ! break; ! case field_value::sfint32_id: ! added_route = add_listener<sfint32>(emitter, listener); ! break; ! case field_value::sfnode_id: ! added_route = add_listener<sfnode>(emitter, listener); ! break; ! case field_value::sfrotation_id: ! added_route = add_listener<sfrotation>(emitter, listener); ! break; ! case field_value::sfstring_id: ! added_route = add_listener<sfstring>(emitter, listener); ! break; ! case field_value::sftime_id: ! added_route = add_listener<sftime>(emitter, listener); ! break; ! case field_value::sfvec2f_id: ! added_route = add_listener<sfvec2f>(emitter, listener); ! break; ! case field_value::sfvec2d_id: ! added_route = add_listener<sfvec2d>(emitter, listener); ! break; ! case field_value::sfvec3f_id: ! added_route = add_listener<sfvec3f>(emitter, listener); ! break; ! case field_value::sfvec3d_id: ! added_route = add_listener<sfvec3d>(emitter, listener); ! break; ! case field_value::mfbool_id: ! added_route = add_listener<mfbool>(emitter, listener); ! break; ! case field_value::mfcolor_id: ! added_route = add_listener<mfcolor>(emitter, listener); ! break; ! case field_value::mfcolorrgba_id: ! added_route = add_listener<mfcolorrgba>(emitter, listener); ! break; ! case field_value::mffloat_id: ! added_route = add_listener<mffloat>(emitter, listener); ! break; ! case field_value::mfdouble_id: ! added_route = add_listener<mfdouble>(emitter, listener); ! break; ! case field_value::mfimage_id: ! added_route = add_listener<mfimage>(emitter, listener); ! break; ! case field_value::mfint32_id: ! added_route = add_listener<mfint32>(emitter, listener); ! break; ! case field_value::mfnode_id: ! added_route = add_listener<mfnode>(emitter, listener); ! break; ! case field_value::mfrotation_id: ! added_route = add_listener<mfrotation>(emitter, listener); ! break; ! case field_value::mfstring_id: ! added_route = add_listener<mfstring>(emitter, listener); ! break; ! case field_value::mftime_id: ! added_route = add_listener<mftime>(emitter, listener); ! break; ! case field_value::mfvec2f_id: ! added_route = add_listener<mfvec2f>(emitter, listener); ! break; ! case field_value::mfvec2d_id: ! added_route = add_listener<mfvec2d>(emitter, listener); ! break; ! case field_value::mfvec3f_id: ! added_route = add_listener<mfvec3f>(emitter, listener); ! break; ! case field_value::mfvec3d_id: ! added_route = add_listener<mfvec3d>(emitter, listener); ! break; ! case field_value::invalid_type_id: ! assert(false); ! } } catch (const bad_cast &) { throw field_value_type_mismatch(); --- 2534,2542 ---- bool added_route = false; try { ! using boost::mpl::for_each; ! using openvrml_::field_value_types; ! for_each<field_value_types>(add_listener(emitter, ! listener, ! added_route)); } catch (const bad_cast &) { throw field_value_type_mismatch(); *************** *** 2680,2693 **** namespace { ! template <typename FieldValue> ! OPENVRML_LOCAL bool remove_listener(openvrml::event_emitter & emitter, ! openvrml::event_listener & listener) ! throw (std::bad_cast) ! { ! using openvrml::field_value_emitter; ! using openvrml::field_value_listener; ! return dynamic_cast<field_value_emitter<FieldValue> &>(emitter).remove( ! dynamic_cast<field_value_listener<FieldValue> &>(listener)); ! } } --- 2546,2574 ---- namespace { ! struct OPENVRML_LOCAL remove_listener { ! remove_listener(openvrml::event_emitter & emitter, ! openvrml::event_listener & listener, ! bool & deleted_route): ! emitter_(&emitter), ! listener_(&listener), ! deleted_route_(&deleted_route) ! {} ! ! template <typename T> ! void operator()(T) const ! { ! if (T::field_value_type_id == this->emitter_->value().type()) { ! typedef openvrml::field_value_emitter<T> emitter_t; ! typedef openvrml::field_value_listener<T> listener_t; ! *this->deleted_route_ = ! dynamic_cast<emitter_t &>(*this->emitter_).remove( ! dynamic_cast<listener_t &>(*this->listener_)); ! } ! } ! ! openvrml::event_emitter * emitter_; ! openvrml::event_listener * listener_; ! bool * deleted_route_; ! }; } *************** *** 2721,2822 **** event_emitter & emitter = from.event_emitter(eventout); event_listener & listener = to.event_listener(eventin); - bool deleted_route = false; - try { ! switch (emitter.value().type()) { ! case field_value::sfbool_id: ! deleted_route = remove_listener<sfbool>(emitter, listener); ! break; ! case field_value::sfcolor_id: ! deleted_route = remove_listener<sfcolor>(emitter, listener); ! break; ! case field_value::sfcolorrgba_id: ! deleted_route = remove_listener<sfcolorrgba>(emitter, listener); ! break; ! case field_value::sffloat_id: ! deleted_route = remove_listener<sffloat>(emitter, listener); ! break; ! case field_value::sfdouble_id: ! deleted_route = remove_listener<sfdouble>(emitter, listener); ! break; ! case field_value::sfimage_id: ! deleted_route = remove_listener<sfimage>(emitter, listener); ! break; ! case field_value::sfint32_id: ! deleted_route = remove_listener<sfint32>(emitter, listener); ! break; ! case field_value::sfnode_id: ! deleted_route = remove_listener<sfnode>(emitter, listener); ! break; ! case field_value::sfrotation_id: ! deleted_route = remove_listener<sfrotation>(emitter, listener); ! break; ! case field_value::sfstring_id: ! deleted_route = remove_listener<sfstring>(emitter, listener); ! break; ! case field_value::sftime_id: ! deleted_route = remove_listener<sftime>(emitter, listener); ! break; ! case field_value::sfvec2f_id: ! deleted_route = remove_listener<sfvec2f>(emitter, listener); ! break; ! case field_value::sfvec2d_id: ! deleted_route = remove_listener<sfvec2d>(emitter, listener); ! break; ! case field_value::sfvec3f_id: ! deleted_route = remove_listener<sfvec3f>(emitter, listener); ! break; ! case field_value::sfvec3d_id: ! deleted_route = remove_listener<sfvec3d>(emitter, listener); ! break; ! case field_value::mfbool_id: ! deleted_route = remove_listener<mfbool>(emitter, listener); ! break; ! case field_value::mfcolor_id: ! deleted_route = remove_listener<mfcolor>(emitter, listener); ! break; ! case field_value::mfcolorrgba_id: ! deleted_route = remove_listener<mfcolorrgba>(emitter, listener); ! break; ! case field_value::mffloat_id: ! deleted_route = remove_listener<mffloat>(emitter, listener); ! break; ! case field_value::mfdouble_id: ! deleted_route = remove_listener<mfdouble>(emitter, listener); ! break; ! case field_value::mfimage_id: ! deleted_route = remove_listener<mfimage>(emitter, listener); ! break; ! case field_value::mfint32_id: ! deleted_route = remove_listener<mfint32>(emitter, listener); ! break; ! case field_value::mfnode_id: ! deleted_route = remove_listener<mfnode>(emitter, listener); ! break; ! case field_value::mfrotation_id: ! deleted_route = remove_listener<mfrotation>(emitter, listener); ! break; ! case field_value::mfstring_id: ! deleted_route = remove_listener<mfstring>(emitter, listener); ! break; ! case field_value::mftime_id: ! deleted_route = remove_listener<mftime>(emitter, listener); ! break; ! case field_value::mfvec2f_id: ! deleted_route = remove_listener<mfvec2f>(emitter, listener); ! break; ! case field_value::mfvec2d_id: ! deleted_route = remove_listener<mfvec2d>(emitter, listener); ! break; ! case field_value::mfvec3f_id: ! deleted_route = remove_listener<mfvec3f>(emitter, listener); ! break; ! case field_value::mfvec3d_id: ! deleted_route = remove_listener<mfvec3d>(emitter, listener); ! break; ! case field_value::invalid_type_id: ! assert(false); ! } } catch (const bad_cast &) { // --- 2602,2612 ---- event_emitter & emitter = from.event_emitter(eventout); event_listener & listener = to.event_listener(eventin); bool deleted_route = false; try { ! using boost::mpl::for_each; ! using openvrml_::field_value_types; ! for_each<field_value_types>(remove_listener(emitter, ! listener, ! deleted_route)); } catch (const bad_cast &) { // Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** script.cpp 11 Dec 2005 04:23:28 -0000 1.60 --- script.cpp 12 Dec 2005 04:16:18 -0000 1.61 *************** *** 26,29 **** --- 26,30 ---- # include <boost/array.hpp> + # include <boost/mpl/for_each.hpp> # include <private.h> # include "browser.h" *************** *** 235,238 **** --- 236,268 ---- } + namespace { + struct OPENVRML_LOCAL direct_output_processor { + direct_output_processor(openvrml::event_listener & listener, + openvrml::field_value & value, + const double timestamp): + listener_(&listener), + value_(&value), + timestamp_(timestamp) + {} + + template <typename T> + void operator()(T) const + { + if (T::field_value_type_id == this->listener_->type()) { + using boost::polymorphic_downcast; + using openvrml::field_value_listener; + dynamic_cast<field_value_listener<T> &>(*this->listener_) + .process_event(*polymorphic_downcast<T *>(this->value_), + this->timestamp_); + } + } + + private: + openvrml::event_listener * listener_; + openvrml::field_value * value_; + double timestamp_; + }; + } + /** * @internal *************** *** 251,409 **** output != this->direct_output_map_.end(); ++output) { ! using boost::polymorphic_downcast; ! switch (output->first->type()) { ! case field_value::sfbool_id: ! dynamic_cast<sfbool_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfbool *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfcolor_id: ! dynamic_cast<sfcolor_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfcolor *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfcolorrgba_id: ! dynamic_cast<sfcolorrgba_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfcolorrgba *>( ! output->second.get()), timestamp); ! break; ! case field_value::sffloat_id: ! dynamic_cast<sffloat_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sffloat *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfdouble_id: ! dynamic_cast<sfdouble_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfdouble *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfimage_id: ! dynamic_cast<sfimage_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfimage *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfint32_id: ! dynamic_cast<sfint32_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfint32 *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfnode_id: ! dynamic_cast<sfnode_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfnode *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfrotation_id: ! dynamic_cast<sfrotation_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfrotation *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfstring_id: ! dynamic_cast<sfstring_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfstring *>( ! output->second.get()), timestamp); ! break; ! case field_value::sftime_id: ! dynamic_cast<sftime_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sftime *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfvec2f_id: ! dynamic_cast<sfvec2f_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfvec2f *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfvec2d_id: ! dynamic_cast<sfvec2d_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfvec2d *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfvec3f_id: ! dynamic_cast<sfvec3f_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfvec3f *>( ! output->second.get()), timestamp); ! break; ! case field_value::sfvec3d_id: ! dynamic_cast<sfvec3d_listener &>(*output->first) ! .process_event(*polymorphic_downcast<sfvec3d *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfbool_id: ! dynamic_cast<mfbool_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfbool *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfcolor_id: ! dynamic_cast<mfcolor_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfcolor *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfcolorrgba_id: ! dynamic_cast<mfcolorrgba_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfcolorrgba *>( ! output->second.get()), timestamp); ! break; ! case field_value::mffloat_id: ! dynamic_cast<mffloat_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mffloat *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfdouble_id: ! dynamic_cast<mfdouble_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfdouble *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfimage_id: ! dynamic_cast<mfimage_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfimage *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfint32_id: ! dynamic_cast<mfint32_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfint32 *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfnode_id: ! dynamic_cast<mfnode_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfnode *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfrotation_id: ! dynamic_cast<mfrotation_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfrotation *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfstring_id: ! dynamic_cast<mfstring_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfstring *>( ! output->second.get()), timestamp); ! break; ! case field_value::mftime_id: ! dynamic_cast<mftime_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mftime *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfvec2f_id: ! dynamic_cast<mfvec2f_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfvec2f *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfvec2d_id: ! dynamic_cast<mfvec2d_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfvec2d *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfvec3f_id: ! dynamic_cast<mfvec3f_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfvec3f *>( ! output->second.get()), timestamp); ! break; ! case field_value::mfvec3d_id: ! dynamic_cast<mfvec3d_listener &>(*output->first) ! .process_event(*polymorphic_downcast<mfvec3d *>( ! output->second.get()), timestamp); ! break; ! case field_value::invalid_type_id: ! assert(false); ! } } this->direct_output_map_.clear(); --- 281,289 ---- output != this->direct_output_map_.end(); ++output) { ! using boost::mpl::for_each; ! using openvrml_::field_value_types; ! for_each<field_value_types>(direct_output_processor(*output->first, ! *output->second, ! timestamp)); } this->direct_output_map_.clear(); *************** *** 1071,1169 **** throw (std::bad_alloc) { boost::shared_ptr<openvrml::event_listener> listener; ! switch (type) { ! case field_value::sfbool_id: ! listener.reset(new sfbool_listener(id, node)); ! break; ! case field_value::sfcolor_id: ! listener.reset(new sfcolor_listener(id, node)); ! break; ! case field_value::sfcolorrgba_id: ! listener.reset(new sfcolorrgba_listener(id, node)); ! break; ! case field_value::sffloat_id: ! listener.reset(new sffloat_listener(id, node)); ! break; ! case field_value::sfdouble_id: ! listener.reset(new sfdouble_listener(id, node)); ! break; ! case field_value::sfimage_id: ! listener.reset(new sfimage_listener(id, node)); ! break; ! case field_value::sfint32_id: ! listener.reset(new sfint32_listener(id, node)); ! break; ! case field_value::sfnode_id: ! listener.reset(new sfnode_listener(id, node)); ! break; ! case field_value::sfstring_id: ! listener.reset(new sfstring_listener(id, node)); ! break; ! case field_value::sfrotation_id: ! listener.reset(new sfrotation_listener(id, node)); ! break; ! case field_value::sftime_id: ! listener.reset(new sftime_listener(id, node)); ! break; ! case field_value::sfvec2f_id: ! listener.reset(new sfvec2f_listener(id, node)); ! break; ! case field_value::sfvec2d_id: ! listener.reset(new sfvec2d_listener(id, node)); ! break; ! case field_value::sfvec3f_id: ! listener.reset(new sfvec3f_listener(id, node)); ! break; ! case field_value::sfvec3d_id: ! listener.reset(new sfvec3d_listener(id, node)); ! break; ! case field_value::mfbool_id: ! listener.reset(new mfbool_listener(id, node)); ! break; ! case field_value::mfcolor_id: ! listener.reset(new mfcolor_listener(id, node)); ! break; ! case field_value::mfcolorrgba_id: ! listener.reset(new mfcolorrgba_listener(id, node)); ! break; ! case field_value::mffloat_id: ! listener.reset(new mffloat_listener(id, node)); ! break; ! case field_value::mfdouble_id: ! listener.reset(new mfdouble_listener(id, node)); ! break; ! case field_value::mfimage_id: ! listener.reset(new mfimage_listener(id, node)); ! break; ! case field_value::mfint32_id: ! listener.reset(new mfint32_listener(id, node)); ! break; ! case field_value::mfnode_id: ! listener.reset(new mfnode_listener(id, node)); ! break; ! case field_value::mfstring_id: ! listener.reset(new mfstring_listener(id, node)); ! break; ! case field_value::mfrotation_id: ! listener.reset(new mfrotation_listener(id, node)); ! break; ! case field_value::mftime_id: ! listener.reset(new mftime_listener(id, node)); ! break; ! case field_value::mfvec2f_id: ! listener.reset(new mfvec2f_listener(id, node)); ! break; ! case field_value::mfvec2d_id: ! listener.reset(new mfvec2d_listener(id, node)); ! break; ! case field_value::mfvec3f_id: ! listener.reset(new mfvec3f_listener(id, node)); ! break; ! case field_value::mfvec3d_id: ! listener.reset(new mfvec3d_listener(id, node)); ! break; ! default: ! assert(false); ! } return listener; } --- 951,960 ---- throw (std::bad_alloc) { + using boost::mpl::for_each; + using openvrml_::field_value_types; boost::shared_ptr<openvrml::event_listener> listener; ! for_each<field_value_types>( ! script_event_listener_creator(type, id, node, listener)); ! assert(listener); return listener; } *************** *** 1186,1347 **** throw (std::bad_alloc) { ! using namespace openvrml; ! using boost::polymorphic_downcast; ! std::auto_ptr<openvrml::event_emitter> emitter; ! switch (value.type()) { ! case field_value::sfbool_id: ! emitter.reset(new script_event_emitter<sfbool>( ! node, ! *polymorphic_downcast<const sfbool *>(&value))); ! break; ! case field_value::sfcolor_id: ! emitter.reset(new script_event_emitter<sfcolor>( ! node, ! *polymorphic_downcast<const sfcolor *>(&value))); ! break; ! case field_value::sfcolorrgba_id: ! emitter.reset(new script_event_emitter<sfcolorrgba>( ! node, ! *polymorphic_downcast<const sfcolorrgba *>(&value))); ! break; ! case field_value::sffloat_id: ! emitter.reset(new script_event_emitter<sffloat>( ! node, ! *polymorphic_downcast<const sffloat *>(&value))); ! break; ! case field_value::sfdouble_id: ! emitter.reset(new script_event_emitter<sfdouble>( ! node, ! *polymorphic_downcast<const sfdouble *>(&value))); ! break; ! case field_value::sfimage_id: ! emitter.reset(new script_event_emitter<sfimage>( ! node, ! *polymorphic_downcast<const sfimage *>(&value))); ! break; ! case field_value::sfint32_id: ! emitter.reset(new script_event_emitter<sfint32>( ! node, ! *polymorphic_downcast<const sfint32 *>(&value))); ! break; ! case field_value::sfnode_id: ! emitter.reset(new script_event_emitter<sfnode>( ! node, ! *polymorphic_downcast<const sfnode *>(&value))); ! break; ! case field_value::sfstring_id: ! emitter.reset(new script_event_emitter<sfstring>( ! node, ! *polymorphic_downcast<const sfstring *>(&value))); ! break; ! case field_value::sfrotation_id: ! emitter.reset(new script_event_emitter<sfrotation>( ! node, ! *polymorphic_downcast<const sfrotation *>(&value))); ! break; ! case field_value::sftime_id: ! emitter.reset(new script_event_emitter<sftime>( ! node, ! *polymorphic_downcast<const sftime *>(&value))); ! break; ! case field_value::sfvec2f_id: ! emitter.reset(new script_event_emitter<sfvec2f>( ! node, ! *polymorphic_downcast<const sfvec2f *>(&value))); ! break; ! case field_value::sfvec2d_id: ! emitter.reset(new script_event_emitter<sfvec2d>( ! node, ! *polymorphic_downcast<const sfvec2d *>(&value))); ! break; ! case field_value::sfvec3f_id: ! emitter.reset(new script_event_emitter<sfvec3f>( ! node, ! *polymorphic_downcast<const sfvec3f *>(&value))); ! break; ! case field_value::sfvec3d_id: ! emitter.reset(new script_event_emitter<sfvec3d>( ! node, ! *polymorphic_downcast<const sfvec3d *>(&value))); ! break; ! case field_value::mfbool_id: ! emitter.reset(new script_event_emitter<mfbool>( ! node, ! *polymorphic_downcast<const mfbool *>(&value))); ! break; ! case field_value::mfcolor_id: ! emitter.reset(new script_event_emitter<mfcolor>( ! node, ! *polymorphic_downcast<const mfcolor *>(&value))); ! break; ! case field_value::mfcolorrgba_id: ! emitter.reset(new script_event_emitter<mfcolorrgba>( ! node, ! *polymorphic_downcast<const mfcolorrgba *>(&value))); ! break; ! case field_value::mffloat_id: ! emitter.reset(new script_event_emitter<mffloat>( ! node, ! *polymorphic_downcast<const mffloat *>(&value))); ! break; ! case field_value::mfdouble_id: ! emitter.reset(new script_event_emitter<mfdouble>( ! node, ! *polymorphic_downcast<const mfdouble *>(&value))); ! break; ! case field_value::mfimage_id: ! emitter.reset(new script_event_emitter<mfimage>( ! node, ! *polymorphic_downcast<const mfimage *>(&value))); ! break; ! case field_value::mfint32_id: ! emitter.reset(new script_event_emitter<mfint32>( ! node, ! *polymorphic_downcast<const mfint32 *>(&value))); ! break; ! case field_value::mfnode_id: ! emitter.reset(new script_event_emitter<mfnode>( ! node, ! *polymorphic_downcast<const mfnode *>(&value))); ! break; ! case field_value::mfstring_id: ! emitter.reset(new script_event_emitter<mfstring>( ! node, ! *polymorphic_downcast<const mfstring *>(&value))); ! break; ! case field_value::mfrotation_id: ! emitter.reset(new script_event_emitter<mfrotation>( ! node, ! *polymorphic_downcast<const mfrotation *>(&value))); ! break; ! case field_value::mftime_id: ! emitter.reset(new script_event_emitter<mftime>( ! node, ! *polymorphic_downcast<const mftime *>(&value))); ! break; ! case field_value::mfvec2f_id: ! emitter.reset(new script_event_emitter<mfvec2f>( ! node, ! *polymorphic_downcast<const mfvec2f *>(&value))); ! break; ! case field_value::mfvec2d_id: ! emitter.reset(new script_event_emitter<mfvec2d>( ! node, ! *polymorphic_downcast<const mfvec2d *>(&value))); ! break; ! case field_value::mfvec3f_id: ! emitter.reset(new script_event_emitter<mfvec3f>( ! node, ! *polymorphic_downcast<const mfvec3f *>(&value))); ! break; ! case field_value::mfvec3d_id: ! emitter.reset(new script_event_emitter<mfvec3d>( ! node, ! *polymorphic_downcast<const mfvec3d *>(&value))); ! break; ! default: ! assert(false); ! } return emitter; } --- 977,986 ---- throw (std::bad_alloc) { ! using boost::mpl::for_each; ! using openvrml_::field_value_types; std::auto_ptr<openvrml::event_emitter> emitter; ! for_each<field_value_types>( ! script_event_emitter_creator(node, value, emitter)); ! assert(emitter.get()); return emitter; } Index: script.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.h,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** script.h 8 Dec 2005 06:50:14 -0000 1.24 --- script.h 12 Dec 2005 04:16:18 -0000 1.25 *************** *** 183,186 **** --- 183,215 ---- typedef script_event_listener<mfvec3d> mfvec3d_listener; + struct OPENVRML_LOCAL script_event_listener_creator { + script_event_listener_creator( + const field_value::type_id type, + const std::string & id, + script_node & node, + boost::shared_ptr<openvrml::event_listener> & listener): + type_(type), + id_(&id), + node_(&node), + listener_(&listener) + {} + + template <typename T> + void operator()(T) const + { + if (T::field_value_type_id == this->type_) { + this->listener_->reset( + new script_event_listener<T>(*this->id_, + *this->node_)); + } + } + + private: + field_value::type_id type_; + const std::string * id_; + script_node * node_; + boost::shared_ptr<openvrml::event_listener> * listener_; + }; + static const boost::shared_ptr<openvrml::event_listener> create_listener(field_value::type_id type, const std::string & id, *************** *** 223,226 **** --- 252,283 ---- }; + struct OPENVRML_LOCAL script_event_emitter_creator { + script_event_emitter_creator( + script_node & node, + const openvrml::field_value & value, + std::auto_ptr<openvrml::event_emitter> & emitter): + node_(&node), + value_(&value), + emitter_(&emitter) + {} + + template <typename T> + void operator()(T) const + { + if (T::field_value_type_id == this->value_->type()) { + using boost::polymorphic_downcast; + this->emitter_->reset( + new script_event_emitter<T>( + *this->node_, + *polymorphic_downcast<const T *>(this->value_))); + } + } + + private: + script_node * node_; + const openvrml::field_value * value_; + std::auto_ptr<openvrml::event_emitter> * emitter_; + }; + static std::auto_ptr<openvrml::event_emitter> create_emitter(script_node & node, const field_value & value) |
From: Braden M. <br...@us...> - 2005-12-12 04:16:26
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv586/src/libopenvrml Modified Files: Makefile.am private.h Log Message: Replaced several instances of switching on field_value::type with boost::mpl::for_each. This consolidates several lists of the field_value types into one--openvrml_::field_value_types in private.h--and allows for more concise code. Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/Makefile.am,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Makefile.am 6 Nov 2005 01:03:44 -0000 1.21 --- Makefile.am 12 Dec 2005 04:16:18 -0000 1.22 *************** *** 50,54 **** -DOPENVRML_LIBDIR_=\"$(libdir)\" \ -DOPENVRML_PKGDATADIR_=\"$(pkgdatadir)\" \ ! -DBOOST_SPIRIT_THREADSAFE AM_CXXFLAGS = \ @PTHREAD_CFLAGS@ \ --- 50,56 ---- -DOPENVRML_LIBDIR_=\"$(libdir)\" \ -DOPENVRML_PKGDATADIR_=\"$(pkgdatadir)\" \ ! -DBOOST_SPIRIT_THREADSAFE \ ! -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ ! -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 AM_CXXFLAGS = \ @PTHREAD_CFLAGS@ \ Index: private.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/private.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** private.h 10 Dec 2005 21:12:16 -0000 1.8 --- private.h 12 Dec 2005 04:16:18 -0000 1.9 *************** *** 66,69 **** --- 66,71 ---- # include <limits> # include <boost/concept_check.hpp> + # include <boost/mpl/vector.hpp> + # include <openvrml/field_value.h> namespace { *************** *** 314,317 **** --- 316,352 ---- obj, mem_fun, param); } + + + typedef boost::mpl::vector<openvrml::sfbool, + openvrml::sfcolor, + openvrml::sfcolorrgba, + openvrml::sfdouble, + openvrml::sffloat, + openvrml::sfimage, + openvrml::sfint32, + openvrml::sfnode, + openvrml::sfrotation, + openvrml::sfstring, + openvrml::sftime, + openvrml::sfvec2d, + openvrml::sfvec2f, + openvrml::sfvec3d, + openvrml::sfvec3f, + openvrml::mfbool, + openvrml::mfcolor, + openvrml::mfcolorrgba, + openvrml::mfdouble, + openvrml::mffloat, + openvrml::mfimage, + openvrml::mfint32, + openvrml::mfnode, + openvrml::mfrotation, + openvrml::mfstring, + openvrml::mftime, + openvrml::mfvec2d, + openvrml::mfvec2f, + openvrml::mfvec3d, + openvrml::mfvec3f> + field_value_types; } } |
From: Braden M. <br...@us...> - 2005-12-12 04:16:26
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv586 Modified Files: ChangeLog Log Message: Replaced several instances of switching on field_value::type with boost::mpl::for_each. This consolidates several lists of the field_value types into one--openvrml_::field_value_types in private.h--and allows for more concise code. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1084 retrieving revision 1.1085 diff -C2 -d -r1.1084 -r1.1085 *** ChangeLog 11 Dec 2005 04:23:28 -0000 1.1084 --- ChangeLog 12 Dec 2005 04:16:17 -0000 1.1085 *************** *** 1,2 **** --- 1,54 ---- + 2005-12-11 Braden McDaniel <br...@en...> + + Replaced several instances of switching on field_value::type with + boost::mpl::for_each. This consolidates several lists of the + field_value types into one--openvrml_::field_value_types in + private.h--and allows for more concise code. + + * src/libopenvrml/Makefile.am: Define + BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS and + BOOST_MPL_LIMIT_VECTOR_SIZE=30. The default boost::mpl::vector + size limit of 20 is not sufficient. + * src/libopenvrml/private.h: Added boost::mpl::vector of + field_value types. * src/libopenvrml/openvrml/browser.cpp + (openvrml::abstract_proto_node::create_eventin(field_value::type_id, + abstract_proto_node &)): Use boost::mpl::for_each instead of + switch. + (openvrml::abstract_proto_node::create_eventout(field_value::type_id, + abstract_proto_node &)): Use boost::mpl::for_each instead of + switch. + (openvrml::proto_node::create_exposedfield(const field_value &, + proto_node &)): Use boost::mpl::for_each instead of switch. + (openvrml::proto_node::proto_node(const node_type &, const + boost::shared_ptr<openvrml::scope> &, const initial_value_map &)): + Use boost::mpl::for_each for creating IS mappings. + (externproto_node::create_exposedfield(externproto_node &, + openvrml::field_value::type_id)): Use boost::mpl::for_each instead + of switch. + (externproto_node::set_proto_node(openvrml::proto_node_type &)): + Use boost::mpl::for_each for creating IS mappings. + * src/libopenvrml/openvrml/field_value.cpp + (openvrml::field_value::create(type_id)): Use boost::mpl::for_each + instead of switch. + * src/libopenvrml/openvrml/node.cpp + (print_field_::operator()(const openvrml::node_interface &) + const): Use boost::mpl::for_each instead of switch. + (openvrml::add_route(node &, const std::string &, node &, const + std::string &)): Use boost::mpl::for_each instead of switch. + (openvrml::delete_route(node &, const std::string &, node &, const + std::string &)): Use boost::mpl::for_each instead of switch. + * src/libopenvrml/openvrml/script.cpp + (openvrml::script::process_direct_output): Use + boost::mpl::for_each instead of switch. + (openvrml::script_node::create_listener(field_value::type_id, + const std::string &, script_node &)): Use boost::mpl::for_each + instead of switch. + (openvrml::script_node::create_emitter(script_node &, const + openvrml::field_value &)): Use boost::mpl::for_each instead of + switch. + * src/libopenvrml/openvrml/script.h + (openvrml::script_node): Added script_event_listener_creator and + script_event_emitter_creator function objects. + 2005-12-10 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2005-12-11 04:23:44
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2220/src/libopenvrml/openvrml Modified Files: field_value.cpp node.cpp script.cpp vrml97node.cpp Log Message: Use boost::array. Index: field_value.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/field_value.cpp,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** field_value.cpp 8 Dec 2005 06:50:14 -0000 1.20 --- field_value.cpp 11 Dec 2005 04:23:28 -0000 1.21 *************** *** 27,30 **** --- 27,31 ---- # include <algorithm> # include <numeric> + # include <boost/array.hpp> # include <private.h> # include "field_value.h" *************** *** 588,592 **** namespace { ! const char * const field_value_type_id_[] = { "<invalid field type>", "SFBool", --- 589,594 ---- namespace { ! typedef boost::array<const char *, 31> field_value_type_id; ! const field_value_type_id field_value_type_id_ = { "<invalid field type>", "SFBool", *************** *** 662,672 **** std::string str; in >> str; ! static const char * const * const begin = ! field_value_type_id_ + field_value::sfbool_id; ! static const char * const * const end = ! field_value_type_id_ + field_value::mfvec3f_id + 1; ! const char * const * const pos = std::find(begin, end, str); ! if (pos != end) { ! type_id = field_value::type_id(pos - begin); } else { in.setstate(std::ios_base::failbit); --- 664,673 ---- std::string str; in >> str; ! const field_value_type_id::const_iterator pos = ! std::find(field_value_type_id_.begin(), ! field_value_type_id_.end(), ! str); ! if (pos != field_value_type_id_.end()) { ! type_id = field_value::type_id(pos - field_value_type_id_.begin()); } else { in.setstate(std::ios_base::failbit); Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** vrml97node.cpp 29 Nov 2005 05:58:09 -0000 1.88 --- vrml97node.cpp 11 Dec 2005 04:23:28 -0000 1.89 *************** *** 37,40 **** --- 37,41 ---- # include <limits> # include <boost/algorithm/string/predicate.hpp> + # include <boost/array.hpp> # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE # include <ft2build.h> *************** *** 4192,4196 **** throw (unsupported_interface, std::bad_alloc) { [...6053 lines suppressed...] node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfstring>( --- 25056,25072 ---- interface != interfaces.end(); ++interface) { ! supported_interfaces_t::const_iterator supported_interface = ! supported_interfaces.begin() - 1; ! if (*interface == *++supported_interface) { worldInfoNodeType.add_field( ! supported_interface->field_type, ! supported_interface->id, node_type_t::field_ptr_ptr( new node_type_t::field_ptr<mfstring>( &world_info_node::info))); ! } else if (*interface == *++supported_interface) { worldInfoNodeType.add_field( ! supported_interface->field_type, ! supported_interface->id, node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfstring>( Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** node.cpp 8 Dec 2005 09:18:00 -0000 1.71 --- node.cpp 11 Dec 2005 04:23:28 -0000 1.72 *************** *** 27,30 **** --- 27,31 ---- # include <algorithm> # include <sstream> + # include <boost/array.hpp> # include <boost/bind.hpp> # include <boost/lexical_cast.hpp> *************** *** 143,147 **** namespace { ! const char * const node_interface_type_id_[] = { "<invalid interface type>", "eventIn", --- 144,149 ---- namespace { ! typedef boost::array<const char *, 5> node_interface_type_id; ! const node_interface_type_id node_interface_type_id_ = { "<invalid interface type>", "eventIn", *************** *** 194,204 **** in >> interface_type_id; ! static const char * const * const begin = ! node_interface_type_id_ + node_interface::eventin_id; ! static const char * const * const end = ! node_interface_type_id_ + node_interface::field_id + 1; ! const char * const * const pos = find(begin, end, interface_type_id); ! if (pos != end) { ! type = node_interface::type_id(pos - begin); } else { in.setstate(std::ios_base::failbit); --- 196,205 ---- in >> interface_type_id; ! const node_interface_type_id::const_iterator pos = ! find(node_interface_type_id_.begin(), ! node_interface_type_id_.end(), ! interface_type_id); ! if (pos != node_interface_type_id_.end()) { ! type = node_interface::type_id(pos - node_interface_type_id_.begin()); } else { in.setstate(std::ios_base::failbit); Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** script.cpp 8 Dec 2005 09:21:13 -0000 1.59 --- script.cpp 11 Dec 2005 04:23:28 -0000 1.60 *************** *** 25,28 **** --- 25,29 ---- # endif + # include <boost/array.hpp> # include <private.h> # include "browser.h" *************** *** 629,633 **** // lexicographically increasing order according to their "id" member. // ! const openvrml::node_interface built_in_script_interfaces_[] = { openvrml::node_interface(openvrml::node_interface::field_id, openvrml::field_value::sfbool_id, --- 630,635 ---- // lexicographically increasing order according to their "id" member. // ! const boost::array<openvrml::node_interface, 3> ! built_in_script_interfaces_ = { openvrml::node_interface(openvrml::node_interface::field_id, openvrml::field_value::sfbool_id, *************** *** 651,655 **** node_type(class_, "Script") { ! for (size_t i = 0; i < 3; ++i) { bool succeeded = this->interfaces_.insert(built_in_script_interfaces_[i]).second; --- 653,657 ---- node_type(class_, "Script") { ! for (size_t i = 0; i < built_in_script_interfaces_.size(); ++i) { bool succeeded = this->interfaces_.insert(built_in_script_interfaces_[i]).second; *************** *** 744,749 **** set_difference(this->interfaces_.begin(), this->interfaces_.end(), ! built_in_script_interfaces_, ! built_in_script_interfaces_ + 3, interface_inserter, node_interface_set::key_compare()); --- 746,751 ---- set_difference(this->interfaces_.begin(), this->interfaces_.end(), ! built_in_script_interfaces_.begin(), ! built_in_script_interfaces_.end(), interface_inserter, node_interface_set::key_compare()); |
From: Braden M. <br...@us...> - 2005-12-11 04:23:43
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2220 Modified Files: ChangeLog Log Message: Use boost::array. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1083 retrieving revision 1.1084 diff -C2 -d -r1.1083 -r1.1084 *** ChangeLog 10 Dec 2005 21:12:16 -0000 1.1083 --- ChangeLog 11 Dec 2005 04:23:28 -0000 1.1084 *************** *** 1,4 **** --- 1,170 ---- 2005-12-10 Braden McDaniel <br...@en...> + Use boost::array. + + * src/libopenvrml/openvrml/field_value.cpp + (field_value_type_id_): Use boost::array. + (operator>>(std::istream &, field_value::type_id &)): Changed to + use boost::array features. + * src/libopenvrml/openvrml/node.cpp + (node_interface_type_id_): Use boost::array. + (operator>>(stds::istream &, node_interface::type_id &)): Changed + to use boost::array features. + * src/libopenvrml/openvrml/script.cpp + (built_in_script_interfaces_): Use boost::array. + (openvrml::script_node::script_node_type::script_node_type(script_node_class&)): + Changed to use boost::array features. + (openvrml::script_node::script_node_type::do_create_node(const + boost::shared_ptr<openvrml::scope> &, const initial_value_map &) + const): Changed to use boost::array features. + + * src/libopenvrml/openvrml/vrml97node.cpp + (anchor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (appearance_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (audio_clip_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (background_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (billboard_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (collision_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (color_interpolator_class::do_create_type(const std::string &, + const node_interface_set &) const): Use boost::array for array of + supported interfaces. + (cone_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (coordinate_interpolator_class::do_create_type(const std::string + &, const node_interface_set &) const): Use boost::array for array + of supported interfaces. + (audio_clip_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (cylinder_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (cylinder_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (directional_light_class::do_create_type(const std::string &, + const node_interface_set &) const): Use boost::array for array of + supported interfaces. + (elevation_grid_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (extrusion_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (fog_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (font_style_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (group_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (image_texture_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (indexed_face_set_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (indexed_line_set_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (inline_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (lod_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (material_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (movie_texture_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (navigation_info_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (normal_interpolator_class::do_create_type(const std::string &, + const node_interface_set &) const): Use boost::array for array of + supported interfaces. + (orientation_interpolator_class::do_create_type(const std::string + &, const node_interface_set &) const): Use boost::array for array + of supported interfaces. + (pixel_texture_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (plane_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (point_light_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (point_set_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (position_interpolator_class::do_create_type(const std::string &, + const node_interface_set &) const): Use boost::array for array of + supported interfaces. + (proximity_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (scalar_interpolator_class::do_create_type(const std::string &, + const node_interface_set &) const): Use boost::array for array of + supported interfaces. + (shape_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (sound_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (sphere_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (spot_light_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (switch_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (text_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (texture_transform_class::do_create_type(const std::string &, + const node_interface_set &) const): Use boost::array for array of + supported interfaces. + (time_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (touch_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (transform_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (viewpoint_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (visibility_sensor_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + (world_info_class::do_create_type(const std::string &, const + node_interface_set &) const): Use boost::array for array of + supported interfaces. + + 2005-12-10 Braden McDaniel <br...@en...> + * src/libopenvrml/private.h (OPENVRML_PRINT_EXCEPTION_): Quell unused variable warnings from Microsoft cl when building with |
From: Braden M. <br...@us...> - 2005-12-10 21:12:24
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18950/src/libopenvrml Modified Files: private.h Log Message: Quell unused variable warnings from Microsoft cl when building with NDEBUG. Index: private.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/private.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** private.h 24 Oct 2005 05:55:55 -0000 1.7 --- private.h 10 Dec 2005 21:12:16 -0000 1.8 *************** *** 24,27 **** --- 24,28 ---- # include <openvrml-common.h> + # include <boost/concept_check.hpp> # ifndef NDEBUG *************** *** 43,47 **** # ifdef NDEBUG ! # define OPENVRML_PRINT_EXCEPTION_(ex_) # else # define OPENVRML_PRINT_EXCEPTION_(ex_) \ --- 44,49 ---- # ifdef NDEBUG ! # define OPENVRML_PRINT_EXCEPTION_(ex_) \ ! boost::ignore_unused_variable_warning(ex_) # else # define OPENVRML_PRINT_EXCEPTION_(ex_) \ |
From: Braden M. <br...@us...> - 2005-12-10 21:12:24
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18950 Modified Files: ChangeLog Log Message: Quell unused variable warnings from Microsoft cl when building with NDEBUG. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1082 retrieving revision 1.1083 diff -C2 -d -r1.1082 -r1.1083 *** ChangeLog 8 Dec 2005 09:21:12 -0000 1.1082 --- ChangeLog 10 Dec 2005 21:12:16 -0000 1.1083 *************** *** 1,2 **** --- 1,8 ---- + 2005-12-10 Braden McDaniel <br...@en...> + + * src/libopenvrml/private.h (OPENVRML_PRINT_EXCEPTION_): Quell + unused variable warnings from Microsoft cl when building with + NDEBUG. + 2005-12-08 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2005-12-08 09:21:24
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29461 Modified Files: ChangeLog Log Message: Added parentheses around ternary operator; << has higher precedence. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1081 retrieving revision 1.1082 diff -C2 -d -r1.1081 -r1.1082 *** ChangeLog 8 Dec 2005 09:18:00 -0000 1.1081 --- ChangeLog 8 Dec 2005 09:21:12 -0000 1.1082 *************** *** 1,4 **** --- 1,11 ---- 2005-12-08 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/script.cpp + (js_::MFBool::toString(JSContext *, JSObject *, uintN, jsval *, + jsval *)): Added parentheses around ternary operator; << has + higher precedence. + + 2005-12-08 Braden McDaniel <br...@en...> + Added missing case for mfbool to openvrml::add_route. |