From: Braden M. <br...@us...> - 2007-04-16 07:40:19
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv15080/src/libopenvrml/openvrml Modified Files: Tag: OpenVRML-0_16-BRANCH browser.cpp x3d_cad_geometry.cpp Log Message: IndexedQuadSet seems to offer a superset of QuadSet's functionality (to the extent that it's not clear why the latter exists as a distinct node). Changed names used in the implementation to reflect that it supports IndexedQuadSet. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.190.2.12 retrieving revision 1.190.2.13 diff -C2 -d -r1.190.2.12 -r1.190.2.13 *** browser.cpp 6 Mar 2007 07:23:11 -0000 1.190.2.12 --- browser.cpp 16 Apr 2007 07:40:16 -0000 1.190.2.13 *************** *** 13178,13182 **** "QuadSet", interface_set, ! "urn:X-openvrml:node:QuadSet", scope); } --- 13178,13182 ---- "QuadSet", interface_set, ! "urn:X-openvrml:node:IndexedQuadSet", scope); } Index: x3d_cad_geometry.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/x3d_cad_geometry.cpp,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** x3d_cad_geometry.cpp 18 May 2006 04:11:31 -0000 1.2 --- x3d_cad_geometry.cpp 16 Apr 2007 07:40:18 -0000 1.2.2.1 *************** *** 57,66 **** * @brief Class object for IndexedQuadSet and QuadSet nodes. */ ! class OPENVRML_LOCAL quad_set_metatype : public node_metatype { public: static const char * const id; ! explicit quad_set_metatype(openvrml::browser & browser); ! virtual ~quad_set_metatype() OPENVRML_NOTHROW; private: --- 57,66 ---- * @brief Class object for IndexedQuadSet and QuadSet nodes. */ ! class OPENVRML_LOCAL indexed_quad_set_metatype : public node_metatype { public: static const char * const id; ! explicit indexed_quad_set_metatype(openvrml::browser & browser); ! virtual ~indexed_quad_set_metatype() OPENVRML_NOTHROW; private: *************** *** 78,83 **** b.add_node_metatype(cad_face_metatype::id, shared_ptr<node_metatype>(new cad_face_metatype(b))); ! b.add_node_metatype(quad_set_metatype::id, ! shared_ptr<node_metatype>(new quad_set_metatype(b))); } --- 78,83 ---- b.add_node_metatype(cad_face_metatype::id, shared_ptr<node_metatype>(new cad_face_metatype(b))); ! b.add_node_metatype(indexed_quad_set_metatype::id, ! shared_ptr<node_metatype>(new indexed_quad_set_metatype(b))); } *************** *** 110,116 **** ! class OPENVRML_LOCAL quad_set_node : public abstract_node<quad_set_node>, public geometry_node { ! friend class quad_set_metatype; class set_index_listener : public event_listener_base<self_t>, --- 110,116 ---- ! class OPENVRML_LOCAL indexed_quad_set_node : public abstract_node<indexed_quad_set_node>, public geometry_node { ! friend class indexed_quad_set_metatype; class set_index_listener : public event_listener_base<self_t>, *************** *** 139,145 **** public: ! quad_set_node(const node_type & type, const boost::shared_ptr<openvrml::scope> & scope); ! virtual ~quad_set_node() OPENVRML_NOTHROW; virtual const color_node * color() const OPENVRML_NOTHROW; --- 139,145 ---- public: ! indexed_quad_set_node(const node_type & type, const boost::shared_ptr<openvrml::scope> & scope); ! virtual ~indexed_quad_set_node() OPENVRML_NOTHROW; virtual const color_node * color() const OPENVRML_NOTHROW; *************** *** 276,287 **** * @brief @c node_metatype identifier. */ ! const char * const quad_set_metatype::id = "urn:X-openvrml:node:QuadSet"; /** * @brief Construct. * ! * @param browser the browser associated with this quad_set_metatype. */ ! quad_set_metatype::quad_set_metatype(openvrml::browser & browser): node_metatype(cad_face_metatype::id, browser) {} --- 276,290 ---- * @brief @c node_metatype identifier. */ ! const char * const indexed_quad_set_metatype::id = ! "urn:X-openvrml:node:IndexedQuadSet"; /** * @brief Construct. * ! * @param browser the browser associated with this ! * @c indexed_quad_set_metatype. */ ! indexed_quad_set_metatype:: ! indexed_quad_set_metatype(openvrml::browser & browser): node_metatype(cad_face_metatype::id, browser) {} *************** *** 290,294 **** * @brief Destroy. */ ! quad_set_metatype::~quad_set_metatype() OPENVRML_NOTHROW {} --- 293,297 ---- * @brief Destroy. */ ! indexed_quad_set_metatype::~indexed_quad_set_metatype() OPENVRML_NOTHROW {} *************** *** 302,310 **** * * @exception unsupported_interface if @p interfaces includes an interface ! * not supported by quad_set_metatype. * @exception std::bad_alloc if memory allocation fails. */ const boost::shared_ptr<openvrml::node_type> ! quad_set_metatype:: do_create_type(const std::string & id, const node_interface_set & interfaces) const --- 305,313 ---- * * @exception unsupported_interface if @p interfaces includes an interface ! * not supported by indexed_quad_set_metatype. * @exception std::bad_alloc if memory allocation fails. */ const boost::shared_ptr<openvrml::node_type> ! indexed_quad_set_metatype:: do_create_type(const std::string & id, const node_interface_set & interfaces) const *************** *** 347,351 **** "index") }; ! typedef node_type_impl<quad_set_node> node_type_t; const boost::shared_ptr<node_type> type(new node_type_t(*this, id)); --- 350,354 ---- "index") }; ! typedef node_type_impl<indexed_quad_set_node> node_type_t; const boost::shared_ptr<node_type> type(new node_type_t(*this, id)); *************** *** 363,368 **** node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! quad_set_node::set_index_listener>( ! &quad_set_node::set_index_listener_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( --- 366,371 ---- node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! indexed_quad_set_node::set_index_listener>( ! &indexed_quad_set_node::set_index_listener_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( *************** *** 371,384 **** node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::color_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::color_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::color_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( --- 374,387 ---- node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::color_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::color_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::color_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( *************** *** 387,400 **** node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::coord_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::coord_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::coord_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( --- 390,403 ---- node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::coord_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::coord_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::coord_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( *************** *** 403,416 **** node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::metadata)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::metadata)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::metadata))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( --- 406,419 ---- node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::metadata)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::metadata)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::metadata))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( *************** *** 419,432 **** node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::normal_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::normal_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::normal_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( --- 422,435 ---- node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::normal_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::normal_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::normal_))); } else if (*interface == *++supported_interface) { the_node_type.add_exposedfield( *************** *** 435,448 **** node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::tex_coord_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::tex_coord_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<quad_set_node>::exposedfield<sfnode> >( ! &quad_set_node::tex_coord_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( --- 438,451 ---- node_type_t::event_listener_ptr_ptr( new node_type_t::event_listener_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::tex_coord_)), node_type_t::field_ptr_ptr( new node_type_t::field_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::tex_coord_)), node_type_t::event_emitter_ptr_ptr( new node_type_t::event_emitter_ptr< ! abstract_node<indexed_quad_set_node>::exposedfield<sfnode> >( ! &indexed_quad_set_node::tex_coord_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( *************** *** 451,455 **** node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &quad_set_node::ccw_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( --- 454,458 ---- node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &indexed_quad_set_node::ccw_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( *************** *** 458,462 **** node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &quad_set_node::color_per_vertex_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( --- 461,465 ---- node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &indexed_quad_set_node::color_per_vertex_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( *************** *** 465,469 **** node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &quad_set_node::normal_per_vertex_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( --- 468,472 ---- node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &indexed_quad_set_node::normal_per_vertex_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( *************** *** 472,476 **** node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &quad_set_node::solid_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( --- 475,479 ---- node_type_t::field_ptr_ptr( new node_type_t::field_ptr<sfbool>( ! &indexed_quad_set_node::solid_))); } else if (*interface == *++supported_interface) { the_node_type.add_field( *************** *** 479,483 **** node_type_t::field_ptr_ptr( new node_type_t::field_ptr<mfint32>( ! &quad_set_node::index_))); } else { throw unsupported_interface(*interface); --- 482,486 ---- node_type_t::field_ptr_ptr( new node_type_t::field_ptr<mfint32>( ! &indexed_quad_set_node::index_))); } else { throw unsupported_interface(*interface); *************** *** 494,498 **** /** ! * @var cad_face_node::cad_face_metatype * * @brief Class object for CADFace nodes. --- 497,501 ---- /** ! * @var class cad_face_node::cad_face_metatype * * @brief Class object for CADFace nodes. *************** *** 590,594 **** /** ! * @class quad_set_node * * @brief Represents IndexedQuadSet node instances. --- 593,597 ---- /** ! * @class indexed_quad_set_node * * @brief Represents IndexedQuadSet node instances. *************** *** 596,600 **** /** ! * @var quad_set_node::indexed_quad_set_metatype * * @brief Class object for IndexedQuadSet nodes. --- 599,603 ---- /** ! * @var class indexed_quad_set_node::indexed_quad_set_metatype * * @brief Class object for IndexedQuadSet nodes. *************** *** 602,606 **** /** ! * @var quad_set_node::set_index_ * * @brief set_index eventIn --- 605,609 ---- /** ! * @var indexed_quad_set_node::set_index_listener indexed_quad_set_node::set_index_listener_ * * @brief set_index eventIn *************** *** 608,612 **** /** ! * @var quad_set_node::color_ * * @brief color exposedField --- 611,615 ---- /** ! * @var abstract_node<indexed_quad_set_node>::exposedfield<openvrml::sfnode> indexed_quad_set_node::color_ * * @brief color exposedField *************** *** 614,618 **** /** ! * @var quad_set_node::coord_ * * @brief coord exposedField --- 617,621 ---- /** ! * @var abstract_node<indexed_quad_set_node>::exposedfield<openvrml::sfnode> indexed_quad_set_node::coord_ * * @brief coord exposedField *************** *** 620,624 **** /** ! * @var quad_set_node::normal_ * * @brief normal exposedField --- 623,627 ---- /** ! * @var abstract_node<indexed_quad_set_node>::exposedfield<openvrml::sfnode> indexed_quad_set_node::normal_ * * @brief normal exposedField *************** *** 626,630 **** /** ! * @var quad_set_node::tex_coord_ * * @brief tex_coord exposedField --- 629,633 ---- /** ! * @var abstract_node<indexed_quad_set_node>::exposedfield<openvrml::sfnode> indexed_quad_set_node::tex_coord_ * * @brief tex_coord exposedField *************** *** 632,636 **** /** ! * @var quad_set_node::ccw_ * * @brief ccw field --- 635,639 ---- /** ! * @var openvrml::sfbool indexed_quad_set_node::ccw_ * * @brief ccw field *************** *** 638,642 **** /** ! * @var quad_set_node::color_per_vertex_ * * @brief color_per_vertex field --- 641,645 ---- /** ! * @var openvrml::sfbool indexed_quad_set_node::color_per_vertex_ * * @brief color_per_vertex field *************** *** 644,648 **** /** ! * @var quad_set_node::normal_per_vertex_ * * @brief normal_per_vertex field --- 647,651 ---- /** ! * @var openvrml::sfbool indexed_quad_set_node::normal_per_vertex_ * * @brief normal_per_vertex field *************** *** 650,654 **** /** ! * @var quad_set_node::solid_ * * @brief solid field --- 653,657 ---- /** ! * @var openvrml::sfbool indexed_quad_set_node::solid_ * * @brief solid field *************** *** 656,665 **** /** ! * @var quad_set_node::index_ * * @brief index field */ ! quad_set_node::set_index_listener:: set_index_listener(self_t & node): node_event_listener(node), --- 659,673 ---- /** ! * @var openvrml::mfint32 indexed_quad_set_node::index_ * * @brief index field */ ! /** ! * @brief Construct. ! * ! * @param[in] node a @c indexed_quad_set_node. ! */ ! indexed_quad_set_node::set_index_listener:: set_index_listener(self_t & node): node_event_listener(node), *************** *** 668,681 **** {} ! quad_set_node::set_index_listener:: ~set_index_listener() OPENVRML_NOTHROW {} ! void quad_set_node::set_index_listener:: ! do_process_event(const mfint32 & /* fraction */, const double /* timestamp */) OPENVRML_THROW1(std::bad_alloc) ! { ! //TODO: add logic here ! } /** --- 676,700 ---- {} ! /** ! * @brief Destroy. ! */ ! indexed_quad_set_node::set_index_listener:: ~set_index_listener() OPENVRML_NOTHROW {} ! /** ! * @brief Process @c set_index event. ! * ! * @todo Needs implementation. ! * ! * @param[in] index coordinate indices. ! * @param[in] timestamp the current time. ! * ! * @exception std::bad_alloc if memory allocation fails. ! */ ! void indexed_quad_set_node::set_index_listener:: ! do_process_event(const mfint32 & /* index */, const double /* timestamp */) OPENVRML_THROW1(std::bad_alloc) ! {} /** *************** *** 685,691 **** * @param scope the @c scope to which the node belongs. */ ! quad_set_node:: ! quad_set_node(const node_type & type, ! const boost::shared_ptr<openvrml::scope> & scope): node(type, scope), bounded_volume_node(type, scope), --- 704,710 ---- * @param scope the @c scope to which the node belongs. */ ! indexed_quad_set_node:: ! indexed_quad_set_node(const node_type & type, ! const boost::shared_ptr<openvrml::scope> & scope): node(type, scope), bounded_volume_node(type, scope), *************** *** 706,710 **** * @brief Destroy. */ ! quad_set_node::~quad_set_node() OPENVRML_NOTHROW {} --- 725,729 ---- * @brief Destroy. */ ! indexed_quad_set_node::~indexed_quad_set_node() OPENVRML_NOTHROW {} *************** *** 715,722 **** */ const openvrml::bounding_volume & ! quad_set_node::do_bounding_volume() const { if (this->bounding_volume_dirty()) { ! const_cast<quad_set_node *>(this)->recalc_bsphere(); } return this->bsphere; --- 734,741 ---- */ const openvrml::bounding_volume & ! indexed_quad_set_node::do_bounding_volume() const { if (this->bounding_volume_dirty()) { ! const_cast<indexed_quad_set_node *>(this)->recalc_bsphere(); } return this->bsphere; *************** *** 726,730 **** * @brief Recalculate the bounding volume. */ ! void quad_set_node::recalc_bsphere() { // take the bvolume of all the points. technically, we should figure --- 745,749 ---- * @brief Recalculate the bounding volume. */ ! void indexed_quad_set_node::recalc_bsphere() { // take the bvolume of all the points. technically, we should figure *************** *** 745,749 **** } ! const color_node * quad_set_node::color() const OPENVRML_NOTHROW { return node_cast<color_node *>(color_.sfnode::value().get()); --- 764,768 ---- } ! const color_node * indexed_quad_set_node::color() const OPENVRML_NOTHROW { return node_cast<color_node *>(color_.sfnode::value().get()); *************** *** 759,763 **** */ openvrml::viewer::object_t ! quad_set_node:: do_render_geometry(openvrml::viewer & /* viewer */, const rendering_context /* context */) --- 778,782 ---- */ openvrml::viewer::object_t ! indexed_quad_set_node:: do_render_geometry(openvrml::viewer & /* viewer */, const rendering_context /* context */) *************** *** 773,777 **** * @c false otherwise. */ ! bool quad_set_node::modified() const { return this->node::modified() --- 792,796 ---- * @c false otherwise. */ ! bool indexed_quad_set_node::modified() const { return this->node::modified() |