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
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12313/src/libopenvrml/openvrml Modified Files: basetypes.cpp basetypes.h bounding_volume.cpp browser.cpp event.cpp event.h exposedfield.cpp field_value.cpp frustum.cpp node.cpp node.h node_impl_util.cpp rendering_context.cpp scope.cpp script.cpp viewer.cpp viewer.h vrml97node.cpp Log Message: Doc-comment improvements. Index: node_impl_util.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node_impl_util.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** node_impl_util.cpp 25 Jul 2006 05:05:47 -0000 1.15 --- node_impl_util.cpp 6 Mar 2007 07:24:01 -0000 1.16 *************** *** 1,3 **** ! // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML --- 1,3 ---- ! // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- // // OpenVRML *************** *** 23,26 **** --- 23,32 ---- /** + * @file openvrml/node_impl_util.h + * + * @brief Definition of utility classes to facilitate node implementations. + */ + + /** * @namespace openvrml::node_impl_util * Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.90 retrieving revision 1.91 diff -C2 -d -r1.90 -r1.91 *** node.cpp 10 Dec 2006 07:07:30 -0000 1.90 --- node.cpp 6 Mar 2007 07:24:01 -0000 1.91 *************** *** 35,39 **** /** ! * @class openvrml::unsupported_interface * * @brief Exception to indicate that a @c node interface is not supported. --- 35,45 ---- /** ! * @file openvrml/node.h ! * ! * @brief Abstract node types and supporting types. ! */ ! ! /** ! * @class openvrml::unsupported_interface openvrml/node.h * * @brief Exception to indicate that a @c node interface is not supported. *************** *** 97,101 **** /** ! * @class openvrml::node_interface * * @brief Type information for an interface of a @c node. --- 103,107 ---- /** ! * @class openvrml::node_interface openvrml/node.h * * @brief Type information for an interface of a @c node. *************** *** 309,313 **** /** ! * @struct openvrml::node_interface_matches_eventin * * @brief Determine if a @c node_interface matches an @c eventIn identifier. --- 315,319 ---- /** ! * @struct openvrml::node_interface_matches_eventin openvrml/node.h * * @brief Determine if a @c node_interface matches an @c eventIn identifier. *************** *** 348,352 **** /** ! * @struct openvrml::node_interface_matches_eventout * * @brief Determine if a @c node_interface matches an @c eventOut identifier. --- 354,358 ---- /** ! * @struct openvrml::node_interface_matches_eventout openvrml/node.h * * @brief Determine if a @c node_interface matches an @c eventOut identifier. *************** *** 388,392 **** /** ! * @struct openvrml::node_interface_matches_exposedfield * * @brief Determine if a @c node_interface matches an @c exposedField --- 394,398 ---- /** ! * @struct openvrml::node_interface_matches_exposedfield openvrml/node.h * * @brief Determine if a @c node_interface matches an @c exposedField *************** *** 407,413 **** * * A @c node_interface matches an @c exposedField identifier if the ! * @c node_interface%'s @a type is @c node_interface::exposedfield_id and the ! * @c node_interface%'s @a id is lexicographically equal to the @c exposedField ! * identifier. * * @param[in] interface @c node_interface. --- 413,419 ---- * * A @c node_interface matches an @c exposedField identifier if the ! * <code>node_interface</code>'s @a type is @c node_interface::exposedfield_id ! * and the <code>node_interface</code>'s @a id is lexicographically equal to ! * the @c exposedField identifier. * * @param[in] interface @c node_interface. *************** *** 420,424 **** /** ! * @struct openvrml::node_interface_matches_field * * @brief Determine if a @c node_interface matches an field --- 426,430 ---- /** ! * @struct openvrml::node_interface_matches_field openvrml/node.h * * @brief Determine if a @c node_interface matches an field *************** *** 450,454 **** /** ! * @struct openvrml::node_interface_compare * * @brief Function object to compare two @c node_interface%s based on their --- 456,460 ---- /** ! * @struct openvrml::node_interface_compare openvrml/node.h * * @brief Function object to compare two @c node_interface%s based on their *************** *** 541,545 **** /** ! * @class openvrml::node_metatype_id * * @brief Identifier for @c node_metatype%s. --- 547,551 ---- /** ! * @class openvrml::node_metatype_id openvrml/node.h * * @brief Identifier for @c node_metatype%s. *************** *** 706,710 **** /** ! * @class openvrml::node_metatype * * @brief A class object for node instances. --- 712,716 ---- /** ! * @class openvrml::node_metatype openvrml/node.h * * @brief A class object for node instances. *************** *** 784,788 **** * new root @c scene. It is called after the individual @c node instances * have been initialized, and before the world starts running. It delegates ! * to @c node_metatype::do_initialize. * * @param[in,out] initial_viewpoint the @c viewpoint_node that should be bound --- 790,794 ---- * new root @c scene. It is called after the individual @c node instances * have been initialized, and before the world starts running. It delegates ! * to @c #do_initialize. * * @param[in,out] initial_viewpoint the @c viewpoint_node that should be bound *************** *** 818,822 **** * @brief <code>node_metatype</code>-specific rendering. * ! * This function delegates to @c node_metatype::do_render. * * @param[in,out] v the @c viewer to which to render. --- 824,828 ---- * @brief <code>node_metatype</code>-specific rendering. * ! * This function delegates to @c #do_render. * * @param[in,out] v the @c viewer to which to render. *************** *** 894,899 **** * * This function is called during destruction of the @c browser, after the ! * root @c scene has been shut down. This function delegates to @c ! * node_metatype::do_shutdown. * * @param[in] time the current time. --- 900,905 ---- * * This function is called during destruction of the @c browser, after the ! * root @c scene has been shut down. This function delegates to ! * @c #do_shutdown. * * @param[in] time the current time. *************** *** 907,911 **** * @brief Shut down. * ! * This function is called by @c node_metatype::shutdown. * * @param[in] time the current time. --- 913,917 ---- * @brief Shut down. * ! * This function is called by @c #shutdown. * * @param[in] time the current time. *************** *** 923,927 **** /** ! * @class openvrml::node_type * * @brief Type information object for @c node%s. --- 929,933 ---- /** ! * @class openvrml::node_type openvrml/node.h * * @brief Type information object for @c node%s. *************** *** 989,993 **** * @brief Get the set of interfaces for the @c node_type. * ! * This function delegates to @c node_type::do_interfaces. * * @return the set of interfaces. --- 995,999 ---- * @brief Get the set of interfaces for the @c node_type. * ! * This function delegates to @c #do_interfaces. * * @return the set of interfaces. *************** *** 1116,1120 **** /** ! * @class openvrml::field_value_type_mismatch * * @brief Thrown when field value types do not match, generally in a @c ROUTE --- 1122,1126 ---- /** ! * @class openvrml::field_value_type_mismatch openvrml/node.h * * @brief Thrown when field value types do not match, generally in a @c ROUTE *************** *** 1157,1161 **** /** ! * @class openvrml::node * * @brief A @c node in the scene graph. --- 1163,1167 ---- /** ! * @class openvrml::node openvrml/node.h * * @brief A @c node in the scene graph. *************** *** 3048,3052 **** /** ! * @class openvrml::appearance_node * * @brief Abstract base class for appearance nodes. --- 3054,3058 ---- /** ! * @class openvrml::appearance_node openvrml/node.h * * @brief Abstract base class for appearance nodes. *************** *** 3133,3137 **** /** ! * @class openvrml::bounded_volume_node * * @brief Abstract base class for nodes that represent a bounded volume in the --- 3139,3143 ---- /** ! * @class openvrml::bounded_volume_node openvrml/node.h * * @brief Abstract base class for nodes that represent a bounded volume in the *************** *** 3257,3261 **** /** ! * @class openvrml::child_node * * @brief Abstract base class for child nodes. --- 3263,3267 ---- /** ! * @class openvrml::child_node openvrml/node.h * * @brief Abstract base class for child nodes. *************** *** 3383,3387 **** /** ! * @class openvrml::color_node * * @brief Abstract base class for color nodes. --- 3389,3393 ---- /** ! * @class openvrml::color_node openvrml/node.h * * @brief Abstract base class for color nodes. *************** *** 3427,3431 **** /** ! * @class openvrml::color_rgba_node * * @brief Abstract base class for RGBA color nodes. --- 3433,3437 ---- /** ! * @class openvrml::color_rgba_node openvrml/node.h * * @brief Abstract base class for RGBA color nodes. *************** *** 3472,3476 **** /** ! * @class openvrml::coordinate_node * * @brief Abstract base class for coordinate nodes. --- 3478,3482 ---- /** ! * @class openvrml::coordinate_node openvrml/node.h * * @brief Abstract base class for coordinate nodes. *************** *** 3517,3521 **** /** ! * @class openvrml::font_style_node * * @brief Abstract base class for font style nodes. --- 3523,3527 ---- /** ! * @class openvrml::font_style_node openvrml/node.h * * @brief Abstract base class for font style nodes. *************** *** 3632,3636 **** /** ! * @class openvrml::geometry_node * * @brief Abstract base class for geometry nodes. --- 3638,3642 ---- /** ! * @class openvrml::geometry_node openvrml/node.h * * @brief Abstract base class for geometry nodes. *************** *** 3763,3767 **** /** ! * @class openvrml::grouping_node * * @brief Abstract base class for grouping nodes. --- 3769,3773 ---- /** ! * @class openvrml::grouping_node openvrml/node.h * * @brief Abstract base class for grouping nodes. *************** *** 3859,3863 **** /** ! * @class openvrml::light_node * * @brief Abstract base class for light nodes. --- 3865,3869 ---- /** ! * @class openvrml::light_node openvrml/node.h * * @brief Abstract base class for light nodes. *************** *** 3897,3901 **** /** ! * @class openvrml::material_node * * @brief Abstract base class for material nodes. --- 3903,3907 ---- /** ! * @class openvrml::material_node openvrml/node.h * * @brief Abstract base class for material nodes. *************** *** 3982,3986 **** /** ! * @class openvrml::navigation_info_node * * @brief Abstract base class for normal nodes. --- 3988,3992 ---- /** ! * @class openvrml::navigation_info_node openvrml/node.h * * @brief Abstract base class for normal nodes. *************** *** 4061,4065 **** /** ! * @class openvrml::normal_node * * @brief Abstract base class for normal nodes. --- 4067,4071 ---- /** ! * @class openvrml::normal_node openvrml/node.h * * @brief Abstract base class for normal nodes. *************** *** 4105,4109 **** /** ! * @class openvrml::pointing_device_sensor_node * * @brief A node that can be affected by a pointing device. --- 4111,4115 ---- /** ! * @class openvrml::pointing_device_sensor_node openvrml/node.h * * @brief A node that can be affected by a pointing device. *************** *** 4181,4185 **** /** ! * @class openvrml::scoped_light_node * * @brief A light that falls within a specified area. --- 4187,4191 ---- /** ! * @class openvrml::scoped_light_node openvrml/node.h * * @brief A light that falls within a specified area. *************** *** 4241,4245 **** /** ! * @class openvrml::sound_source_node * * @brief Abstract base class for sound source nodes. --- 4247,4251 ---- /** ! * @class openvrml::sound_source_node openvrml/node.h * * @brief Abstract base class for sound source nodes. *************** *** 4278,4282 **** /** ! * @class openvrml::texture_node * * @brief Abstract base class for texture nodes. --- 4284,4288 ---- /** ! * @class openvrml::texture_node openvrml/node.h * * @brief Abstract base class for texture nodes. *************** *** 4394,4398 **** /** ! * @class openvrml::texture_coordinate_node * * @brief Abstract base class for texture coordinate nodes. --- 4400,4404 ---- /** ! * @class openvrml::texture_coordinate_node openvrml/node.h * * @brief Abstract base class for texture coordinate nodes. *************** *** 4440,4444 **** /** ! * @class openvrml::texture_transform_node * * @brief Abstract base class for texture transform nodes. --- 4446,4450 ---- /** ! * @class openvrml::texture_transform_node openvrml/node.h * * @brief Abstract base class for texture transform nodes. *************** *** 4496,4500 **** /** ! * @class openvrml::time_dependent_node * * @brief Abstract base class for time-dependent nodes. --- 4502,4506 ---- /** ! * @class openvrml::time_dependent_node openvrml/node.h * * @brief Abstract base class for time-dependent nodes. *************** *** 4553,4557 **** /** ! * @class openvrml::transform_node * * @brief Abstract base class for transform nodes. --- 4559,4563 ---- /** ! * @class openvrml::transform_node openvrml/node.h * * @brief Abstract base class for transform nodes. *************** *** 4601,4605 **** /** ! * @class openvrml::viewpoint_node * * @brief Abstract base class for viewpoint nodes. --- 4607,4611 ---- /** ! * @class openvrml::viewpoint_node openvrml/node.h * * @brief Abstract base class for viewpoint nodes. *************** *** 4685,4708 **** /** ! * @class openvrml::node_traverser * ! * @brief Traverse the children of each @c node in a node hierarchy only once. * * The @c node_traverser provides a generalized traversal mechanism that * avoids redundantly traversing branches of the @c node hierarchy. If a * @c node occurs multiple places in a branch, <strong>the children of that ! * @c node will be visted in the traversal only once</strong>. * * For each @c node encountered in the traversal, @c node_traverser does the * following: * ! * -# Call @c node_traverser::on_entering. * -# Traverse descendants, if any. ! * -# Call @c node_traverser::on_leaving. * ! * Concrete subclasses of @c node_traverser implement the @c on_entering ! * and/or @c on_leaving member functions in order to perform some operation(s) * on each node. The traversal can be ended prematurely by calling ! * @c node_traverser::halt_traversal. */ --- 4691,4715 ---- /** ! * @class openvrml::node_traverser openvrml/node.h * ! * @brief Traverse the children of each @c node in a @c node hierarchy only ! * once. * * The @c node_traverser provides a generalized traversal mechanism that * avoids redundantly traversing branches of the @c node hierarchy. If a * @c node occurs multiple places in a branch, <strong>the children of that ! * @c node will be visited in the traversal only once</strong>. * * For each @c node encountered in the traversal, @c node_traverser does the * following: * ! * -# Call @c #on_entering. * -# Traverse descendants, if any. ! * -# Call @c #on_leaving. * ! * Concrete subclasses of @c node_traverser implement the @c #on_entering ! * and/or @c #on_leaving member functions in order to perform some operation(s) * on each node. The traversal can be ended prematurely by calling ! * @c #halt_traversal. */ *************** *** 4745,4749 **** * * In addition to @c std::bad_alloc, this function throws any exception thrown ! * from @c on_entering or @c on_leaving. * * @param[in,out] n the root @c node of the branch to traverse. --- 4752,4756 ---- * * In addition to @c std::bad_alloc, this function throws any exception thrown ! * from @c #on_entering or @c #on_leaving. * * @param[in,out] n the root @c node of the branch to traverse. *************** *** 4768,4772 **** * @overload * ! * @brief Traverse a <code>node</code>. * * @param[in,out] node the root node of the branch to traverse. --- 4775,4779 ---- * @overload * ! * @brief Traverse a @c node. * * @param[in,out] node the root node of the branch to traverse. *************** *** 4795,4804 **** /** ! * @brief Traverse a <code>std::vector</code> of <code>node</code>s. * * @overload * ! * @param[in,out] nodes the root @link openvrml::node nodes@endlink of the branch to ! * traverse. */ void --- 4802,4811 ---- /** ! * @brief Traverse a @c std::vector of @c node%s. * * @overload * ! * @param[in,out] nodes the root @link openvrml::node nodes@endlink of the ! * branch to traverse. */ void *************** *** 4831,4839 **** * * If this method is called during a traversal, no more descendant @c node%s ! * will be traversed. Note that if @c halt_traversal is called in the ! * implementation of @c on_entering, @c on_leaving will still be called for * the current node and any parent nodes (that is, any node for which ! * @c on_entering has been called). Implementations of @c on_leaving can call ! * @c node_traverser::halted to check whether the traversal has been halted. */ void openvrml::node_traverser::halt_traversal() OPENVRML_NOTHROW --- 4838,4846 ---- * * If this method is called during a traversal, no more descendant @c node%s ! * will be traversed. Note that if @c #halt_traversal is called in the ! * implementation of @c #on_entering, @c #on_leaving will still be called for * the current node and any parent nodes (that is, any node for which ! * @c #on_entering has been called). Implementations of @c #on_leaving can ! * call @c #halted to check whether the traversal has been halted. */ void openvrml::node_traverser::halt_traversal() OPENVRML_NOTHROW *************** *** 4845,4849 **** * @brief Indicate whether the traversal has been halted. * ! * This function is useful in implementations of @c on_leaving that need to * check whether the traversal has been halted. * --- 4852,4856 ---- * @brief Indicate whether the traversal has been halted. * ! * This function is useful in implementations of @c #on_leaving that need to * check whether the traversal has been halted. * Index: node.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.h,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** node.h 6 Aug 2006 03:37:19 -0000 1.57 --- node.h 6 Mar 2007 07:24:01 -0000 1.58 *************** *** 25,32 **** # include <deque> - # include <list> # include <set> # include <utility> - # include <boost/thread/mutex.hpp> # include <boost/thread/recursive_mutex.hpp> # include <openvrml/field_value.h> --- 25,30 ---- Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.122 retrieving revision 1.123 diff -C2 -d -r1.122 -r1.123 *** vrml97node.cpp 25 Feb 2007 02:37:13 -0000 1.122 --- vrml97node.cpp 6 Mar 2007 07:24:01 -0000 1.123 *************** *** 16113,16120 **** * @brief Set the bind state. * ! * This function is called by ! * <code>bound_node_stack<BindableNode>::bind</code>. It sets the ! * "bind" state and fires an event; it does not actually put the ! * node onto the bound node stack. * * @param[in] val the bind state. --- 16113,16119 ---- * @brief Set the bind state. * ! * This function is called by @c bound_node_stack<BindableNode>::bind. It ! * sets the “bind” state and fires an event; it does not ! * actually put the node onto the bound node stack. * * @param[in] val the bind state. *************** *** 21482,21486 **** node_metatype(text_metatype::id, browser) { ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Init_FreeType(&this->freeTypeLibrary); --- 21481,21485 ---- node_metatype(text_metatype::id, browser) { ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Init_FreeType(&this->freeTypeLibrary); *************** *** 21496,21500 **** text_metatype::~text_metatype() OPENVRML_NOTHROW { ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Done_FreeType(this->freeTypeLibrary); --- 21495,21499 ---- text_metatype::~text_metatype() OPENVRML_NOTHROW { ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Done_FreeType(this->freeTypeLibrary); *************** *** 22595,22599 **** OPENVRML_NOTHROW { ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE if (this->face) { FT_Error ftError = FT_Done_Face(this->face); --- 22594,22598 ---- OPENVRML_NOTHROW { ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE if (this->face) { FT_Error ftError = FT_Done_Face(this->face); *************** *** 22603,22607 **** } ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE OPENVRML_LOCAL ptrdiff_t utf8_to_ucs4_(const unsigned char * src_orig, --- 22602,22606 ---- } ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE OPENVRML_LOCAL ptrdiff_t utf8_to_ucs4_(const unsigned char * src_orig, Index: viewer.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/viewer.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** viewer.h 22 Jan 2007 23:38:01 -0000 1.14 --- viewer.h 6 Mar 2007 07:24:01 -0000 1.15 *************** *** 23,28 **** # define OPENVRML_VIEWER_H - # include <cstddef> - # include <vector> # include <boost/utility.hpp> # include <openvrml/bounding_volume.h> --- 23,26 ---- Index: viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/viewer.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** viewer.cpp 22 Jan 2007 23:38:01 -0000 1.16 --- viewer.cpp 6 Mar 2007 07:24:01 -0000 1.17 *************** *** 24,27 **** --- 24,33 ---- // + /** + * @file openvrml/viewer.h + * + * @brief Definition of @c openvrml::viewer. + */ + # ifdef HAVE_CONFIG_H # include <config.h> Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** script.cpp 1 Jan 2007 21:25:45 -0000 1.79 --- script.cpp 6 Mar 2007 07:24:01 -0000 1.80 *************** *** 32,36 **** /** ! * @class openvrml::script * * @brief Abstract class implemented by scripting language bindings. --- 32,42 ---- /** ! * @file openvrml/script.h ! * ! * @brief Pluggable scripting engine support. ! */ ! ! /** ! * @class openvrml::script openvrml/script.h * * @brief Abstract class implemented by scripting language bindings. *************** *** 292,296 **** /** ! * @class openvrml::script_node_metatype * * @brief Class object for @c script_node%s. --- 298,302 ---- /** ! * @class openvrml::script_node_metatype openvrml/script.h * * @brief Class object for @c script_node%s. *************** *** 335,339 **** /** ! * @class openvrml::script_node * * @brief Represents a VRML Script node. --- 341,345 ---- /** ! * @class openvrml::script_node openvrml/script.h * * @brief Represents a VRML Script node. *************** *** 353,357 **** /** ! * @class openvrml::script_node::eventout * * @brief An @c event_emitter along with the emitted value. --- 359,363 ---- /** ! * @class openvrml::script_node::eventout openvrml/script.h * * @brief An @c event_emitter along with the emitted value. *************** *** 496,500 **** * @internal * ! * @class openvrml::script_node::script_node_type * * @brief Type objects for @c script_node%s. --- 502,506 ---- * @internal * ! * @class openvrml::script_node::script_node_type openvrml/script.h * * @brief Type objects for @c script_node%s. *************** *** 597,603 **** * @c script_node constructor. * ! * @param[in] scope the scope to which the node should belong. ! * @param[in] initial_values a map of initial values for the node's ! * @c field%s and @c exposedField%s. * * @exception unsupported_interface if @p initial_values specifies a field --- 603,611 ---- * @c script_node constructor. * ! * @param[in] scope the @c scope to which the @c node should ! * belong. ! * @param[in] initial_values a map of initial values for the ! * <code>node</code>'s @c field%s and ! * @c exposedField%s. * * @exception unsupported_interface if @p initial_values specifies a field *************** *** 1023,1027 **** * * @param[in] type the type of listener to create. ! * @param[in] id eventIn identifier. * @param[in] node the containing script_node. * --- 1031,1035 ---- * * @param[in] type the type of listener to create. ! * @param[in] id @c eventIn identifier. * @param[in] node the containing script_node. * *************** *** 1193,1197 **** * @internal * ! * @class openvrml::script_node::set_url_listener_t * * @brief @c set_url event listener. --- 1201,1205 ---- * @internal * ! * @class openvrml::script_node::set_url_listener_t openvrml/script.h * * @brief @c set_url event listener. *************** *** 1229,1233 **** * @brief Process an event. * ! * @param[in] value new url value. * @param[in] timestamp the current time. * --- 1237,1241 ---- * @brief Process an event. * ! * @param[in] value new @c url value. * @param[in] timestamp the current time. * *************** *** 1256,1260 **** * @internal * ! * @class openvrml::script_node::url_changed_emitter * * @brief @c url_changed event emitter. --- 1264,1268 ---- * @internal * ! * @class openvrml::script_node::url_changed_emitter openvrml/script.h * * @brief @c url_changed event emitter. *************** *** 1279,1285 **** /** ! * @brief The eventOut identifier. * ! * @return the eventOut identifier. */ const std::string --- 1287,1293 ---- /** ! * @brief The @c eventOut identifier. * ! * @return the @c eventOut identifier. */ const std::string *************** *** 1292,1298 **** * @internal * ! * @class openvrml::script_node::set_metadata_listener * ! * @brief set_metadata event listener. */ --- 1300,1306 ---- * @internal * ! * @class openvrml::script_node::set_metadata_listener openvrml/script.h * ! * @brief @c set_metadata event listener. */ *************** *** 1300,1304 **** * @brief Construct. * ! * @param[in] node a reference to the containing script_node. */ openvrml::script_node::set_metadata_listener:: --- 1308,1312 ---- * @brief Construct. * ! * @param[in] node a reference to the containing @c script_node. */ openvrml::script_node::set_metadata_listener:: *************** *** 1315,1321 **** /** ! * @brief Get the eventIn identifier. * ! * @return the eventIn identifier. */ const std::string --- 1323,1329 ---- /** ! * @brief Get the @c eventIn identifier. * ! * @return the @c eventIn identifier. */ const std::string *************** *** 1352,1358 **** * @internal * ! * @class openvrml::script_node::metadata_changed_emitter * ! * @brief metadata_changed event emitter. */ --- 1360,1366 ---- * @internal * ! * @class openvrml::script_node::metadata_changed_emitter openvrml/script.h * ! * @brief @c metadata_changed event emitter. */ *************** *** 1411,1415 **** * @var openvrml::sfbool openvrml::script_node::direct_output * ! * @brief directOutput field. */ --- 1419,1423 ---- * @var openvrml::sfbool openvrml::script_node::direct_output * ! * @brief @c directOutput field. */ *************** *** 1419,1423 **** * @var openvrml::sfbool openvrml::script_node::must_evaluate * ! * @brief mustEvaluate field. */ --- 1427,1431 ---- * @var openvrml::sfbool openvrml::script_node::must_evaluate * ! * @brief @c mustEvaluate field. */ *************** *** 1427,1431 **** * @var openvrml::script_node::set_url_listener_t openvrml::script_node::set_url_listener * ! * @brief set_url eventIn handler. */ --- 1435,1439 ---- * @var openvrml::script_node::set_url_listener_t openvrml::script_node::set_url_listener * ! * @brief @c set_url @c eventIn handler. */ *************** *** 1435,1439 **** * @var openvrml::mfstring openvrml::script_node::url_ * ! * @brief url exposedField. */ --- 1443,1447 ---- * @var openvrml::mfstring openvrml::script_node::url_ * ! * @brief @c url @c exposedField. */ *************** *** 1499,1504 **** * @var int openvrml::script_node::events_received * ! * @brief A count of the number of events received since script_node::update ! * was called. */ --- 1507,1512 ---- * @var int openvrml::script_node::events_received * ! * @brief A count of the number of events received since @c #update was ! * called. */ *************** *** 1510,1517 **** * directly when creating a new @c script_node from scratch. However, a * @c script_node can be duplicated (or “cloned”) by calling ! * @c node_type::create_node on @c script_node::type of a @c script_node ! * instance. This provides a consistent interface for cloning any node, ! * regardless of its type. OpenVRML uses this internally when instantiating ! * @c PROTO%s. * * @param[in] class_ the @c script_node_metatype. Typically --- 1518,1524 ---- * directly when creating a new @c script_node from scratch. However, a * @c script_node can be duplicated (or “cloned”) by calling ! * @c node_type::create_node on @c #type of a @c script_node instance. This ! * provides a consistent interface for cloning any node, regardless of its ! * type. OpenVRML uses this internally when instantiating @c PROTO%s. * * @param[in] class_ the @c script_node_metatype. Typically *************** *** 1693,1699 **** * @internal * ! * @brief Return a pointer to this script_node. * ! * @return a pointer to this script_node. */ openvrml::script_node * openvrml::script_node::to_script() OPENVRML_NOTHROW --- 1700,1706 ---- * @internal * ! * @brief Return a pointer to this @c script_node. * ! * @return a pointer to this @c script_node. */ openvrml::script_node * openvrml::script_node::to_script() OPENVRML_NOTHROW *************** *** 1739,1745 **** * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief eventOut map accessor. * ! * @return the eventOut map. */ --- 1746,1752 ---- * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief @c eventOut map accessor. * ! * @return the @c eventOut map. */ *************** *** 1748,1752 **** * * @brief Special assignment function to take into account the fact that ! * Script nodes can be self referential. * * “Undo” the refcounting appropriately: decrement the refcount on --- 1755,1759 ---- * * @brief Special assignment function to take into account the fact that ! * Script nodes can be self-referential. * * “Undo” the refcounting appropriately: decrement the refcount on *************** *** 1754,1759 **** * any self-references for which ownership is relinquished. * ! * @param[in] inval input sfnode. ! * @param[out] retval output sfnode. */ void openvrml::script_node::assign_with_self_ref_check(const sfnode & inval, --- 1761,1766 ---- * any self-references for which ownership is relinquished. * ! * @param[in] inval input @c sfnode. ! * @param[out] retval output @c sfnode. */ void openvrml::script_node::assign_with_self_ref_check(const sfnode & inval, *************** *** 1802,1807 **** * any self-references for which ownership is relinquished. * ! * @param[in] inval input mfnode. ! * @param[out] retval output mfnode. */ void openvrml::script_node::assign_with_self_ref_check(const mfnode & inval, --- 1809,1814 ---- * any self-references for which ownership is relinquished. * ! * @param[in] inval input @c mfnode. ! * @param[out] retval output @c mfnode. */ void openvrml::script_node::assign_with_self_ref_check(const mfnode & inval, *************** *** 1890,1901 **** * @brief Get an event listener. * ! * This method is called by node::event_listener. Subclasses must implement ! * this method. * ! * @param[in] id eventIn identifier. * * @return the event listener. * ! * @exception unsupported_interface if the node has no eventIn @p id. */ openvrml::event_listener & --- 1897,1908 ---- * @brief Get an event listener. * ! * This method is called by @c node::event_listener. Subclasses must ! * implement this method. * ! * @param[in] id @c eventIn identifier. * * @return the event listener. * ! * @exception unsupported_interface if the node has no @c eventIn @p id. */ openvrml::event_listener & *************** *** 1923,1933 **** * @brief Get an event emitter. * ! * This method is called by node::event_emitter. * ! * @param[in] id eventOut identifier. * * @return the event emitter. * ! * @exception unsupported_interface if the node has no eventOut @p id. */ openvrml::event_emitter & --- 1930,1940 ---- * @brief Get an event emitter. * ! * This method is called by @c node::event_emitter. * ! * @param[in] id @c eventOut identifier. * * @return the event emitter. * ! * @exception unsupported_interface if the @c node has no @c eventOut @p id. */ openvrml::event_emitter & *************** *** 1968,1978 **** * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief eventOut map. * ! * @return the eventOut map. */ /** ! * @brief Called by node::shutdown. * * @param[in] timestamp the current time. --- 1975,1985 ---- * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief @c eventOut map. * ! * @return the @c eventOut map. */ /** ! * @brief Called by @c node::shutdown. * * @param[in] timestamp the current time. *************** *** 1985,1989 **** /** ! * @brief render_child implementation. * * @param[in,out] v viewer implementation responsible for actually --- 1992,1996 ---- /** ! * @brief @c node::render_child implementation. * * @param[in,out] v viewer implementation responsible for actually *************** *** 2662,2666 **** /** ! * @class Base class template for SFColor, SFNode, SFRotation, * SFVec2f, SFVec3f. */ --- 2669,2673 ---- /** ! * @brief Base class template for SFColor, SFNode, SFRotation, * SFVec2f, SFVec3f. */ *************** *** 2690,2694 **** /** ! * @class Base class template for MFFloat, MFTime. * * In JavaScript, all floating point values are treated as doubles. --- 2697,2701 ---- /** ! * @brief Base class template for MFFloat, MFTime. * * In JavaScript, all floating point values are treated as doubles. Index: exposedfield.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/exposedfield.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** exposedfield.cpp 24 Jul 2006 23:55:14 -0000 1.6 --- exposedfield.cpp 6 Mar 2007 07:24:01 -0000 1.7 *************** *** 27,30 **** --- 27,36 ---- /** + * @file openvrml/exposedfield.h + * + * @brief Definition of @c openvrml::exposedfield. + */ + + /** * @class openvrml::exposedfield * Index: event.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/event.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** event.cpp 23 Aug 2006 15:02:04 -0000 1.14 --- event.cpp 6 Mar 2007 07:24:01 -0000 1.15 *************** *** 27,31 **** /** ! * @class openvrml::event_listener * * @brief Abstract base class of event listeners. --- 27,37 ---- /** ! * @file openvrml/event.h ! * ! * @brief Event emitter and listener interfaces. ! */ ! ! /** ! * @class openvrml::event_listener openvrml/event.h * * @brief Abstract base class of event listeners. *************** *** 56,60 **** /** ! * @class openvrml::node_event_listener * * @brief Base class for event listeners of nodes. --- 62,66 ---- /** ! * @class openvrml::node_event_listener openvrml/event.h * * @brief Base class for event listeners of nodes. *************** *** 120,124 **** /** ! * @class openvrml::field_value_listener * * @brief Concrete event listener template. --- 126,130 ---- /** ! * @class openvrml::field_value_listener openvrml/event.h * * @brief Concrete event listener template. *************** *** 352,356 **** /** ! * @class openvrml::node_field_value_listener * * @brief Base class for @c field_value_listener%s that are members of nodes. --- 358,362 ---- /** ! * @class openvrml::node_field_value_listener openvrml/event.h * * @brief Base class for @c field_value_listener%s that are members of nodes. *************** *** 373,377 **** /** ! * @class openvrml::event_emitter * * @brief Abstract base class of event emitters. --- 379,383 ---- /** ! * @class openvrml::event_emitter openvrml/event.h * * @brief Abstract base class of event emitters. *************** *** 548,552 **** /** ! * @class openvrml::field_value_emitter * * @brief Concrete event emitter template. --- 554,558 ---- /** ! * @class openvrml::field_value_emitter openvrml/event.h * * @brief Concrete event emitter template. Index: frustum.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/frustum.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** frustum.cpp 25 Feb 2006 08:37:27 -0000 1.8 --- frustum.cpp 6 Mar 2007 07:24:01 -0000 1.9 *************** *** 29,32 **** --- 29,38 ---- /** + * @file openvrml/frustum.h + * + * @brief Definition of @c openvrml::frustum. + */ + + /** * @class openvrml::frustum * Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.205 retrieving revision 1.206 diff -C2 -d -r1.205 -r1.206 *** browser.cpp 6 Mar 2007 03:26:15 -0000 1.205 --- browser.cpp 6 Mar 2007 07:24:00 -0000 1.206 *************** *** 64,67 **** --- 64,73 ---- # include "x3d_cad_geometry.h" + /** + * @file openvrml/browser.h + * + * @brief Classes that manage the scene. + */ + namespace openvrml { *************** *** 104,110 **** * * The @c proto_node_metatype is OpenVRML's in-memory representation of a ! * @c PROTO (as opposed to a @c PROTO instance). Through the @c ! * proto_node_type intermediary, it facilitates spawning any number of @c ! * proto_node instances. */ class OPENVRML_LOCAL proto_node_metatype : public node_metatype { --- 110,116 ---- * * The @c proto_node_metatype is OpenVRML's in-memory representation of a ! * @c PROTO (as opposed to a @c PROTO instance). Through the ! * @c proto_node_type intermediary, it facilitates spawning any number of ! * @c proto_node instances. */ class OPENVRML_LOCAL proto_node_metatype : public node_metatype { *************** *** 439,459 **** * And @c proto_node_type has, in turn, a many-to-one relationship with * the @c proto_node_metatype instance that creates them. Unlike a ! * typical node implementation, there will very likely be more than one @c ! * proto_node_metatype instance known to the @c browser instance; there * will be one for each @c PROTO known to the @c browser. * ! * As the @c proto_node_metatype encodes the data in a @c PROTO, the @c ! * proto_node_type can be seen as modeling @c EXTERNPROTO. Each @c ! * EXTERNPROTO will spawn a new @c proto_node_type from the @c ! * proto_node_metatype that corresponds to the @c PROTO to which the @c ! * EXTERNPROTO refers. Recall that an @c EXTERNPROTO provides a subset of ! * the interfaces defined for a @c PROTO; thus, for a @c PROTO with ! * <var>n</var> interfaces, there are <var>n</var>! possible unique @c ! * EXTERNPROTO%s (and thus unique @c proto_node_type instances). * * Structurally, the implementation of @c proto_node is very similar to * that of @c proto_node_metatype. The difference is that event pathways ! * for @c ROUTE%s and @c IS mappings are actually created in the @c ! * proto_node. The @c proto_node_metatype, on the other hand, includes * metadata about how these event pathways @e should be created. */ --- 445,465 ---- * And @c proto_node_type has, in turn, a many-to-one relationship with * the @c proto_node_metatype instance that creates them. Unlike a ! * typical node implementation, there will very likely be more than one ! * @c proto_node_metatype instance known to the @c browser instance; there * will be one for each @c PROTO known to the @c browser. * ! * As the @c proto_node_metatype encodes the data in a @c PROTO, the ! * @c proto_node_type can be seen as modeling @c EXTERNPROTO. Each ! * @c EXTERNPROTO will spawn a new @c proto_node_type from the ! * @c proto_node_metatype that corresponds to the @c PROTO to which the ! * @c EXTERNPROTO refers. Recall that an @c EXTERNPROTO provides a subset ! * of the interfaces defined for a @c PROTO; thus, for a @c PROTO with ! * <var>n</var> interfaces, there are <var>n</var>! possible unique ! * @c EXTERNPROTO%s (and thus unique @c proto_node_type instances). * * Structurally, the implementation of @c proto_node is very similar to * that of @c proto_node_metatype. The difference is that event pathways ! * for @c ROUTE%s and @c IS mappings are actually created in the ! * @c proto_node. The @c proto_node_metatype, on the other hand, includes * metadata about how these event pathways @e should be created. */ *************** *** 580,585 **** /** ! * @brief A node path is used to store the path to a node for the purpose ! * of duplicating a route in a cloned node hierarchy. */ typedef std::list<node_path_element> node_path_t; --- 586,591 ---- /** ! * @brief A @c node path is used to store the path to a @c node for the ! * purpose of duplicating a route in a cloned @c node hierarchy. */ typedef std::list<node_path_element> node_path_t; *************** *** 2567,2571 **** * @brief Construct. * ! * @param[in] t node type. */ default_navigation_info:: --- 2573,2577 ---- * @brief Construct. * ! * @param[in] t @c node_type. */ default_navigation_info:: *************** *** 3601,3607 **** * @param[in] uri URI associated with @p in. * @param[in] type MIME media type of the data to be read from @p in. ! * @param[in] scene a scene. ! * @param[out] nodes the root nodes. ! * @param[out] meta the scene metadata. * * @exception openvrml::bad_media_type --- 3607,3613 ---- * @param[in] uri URI associated with @p in. * @param[in] type MIME media type of the data to be read from @p in. ! * @param[in] scene a @c scene. ! * @param[out] nodes the root @c node%s. ! * @param[out] meta the @c scene metadata. * * @exception openvrml::bad_media_type *************** *** 4523,4527 **** /** ! * @class openvrml::resource_istream * * @brief An abstract input stream for network resources. --- 4529,4533 ---- /** ! * @class openvrml::resource_istream openvrml/browser.h * * @brief An abstract input stream for network resources. *************** *** 4553,4557 **** * @brief Get the URL associated with the stream. * ! * This function delegates to @c do_url. * * @return the URL associated with the stream. --- 4559,4563 ---- * @brief Get the URL associated with the stream. * ! * This function delegates to @c #do_url. * * @return the URL associated with the stream. *************** *** 4576,4580 **** * @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. --- 4582,4586 ---- * @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. *************** *** 4597,4601 **** * @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 --- 4603,4607 ---- * @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 *************** *** 4654,4663 **** * @brief Fetch a network resource. * ! * Called by @c resource_fetcher::get_resource, clients of OpenVRML are ! * required to provide an implementation for this function. OpenVRML depends ! * on the implementation of this function for all of its input needs. As ! * such, what kind of resources OpenVRML is capable of resolving is entirely ! * dependent on code provided by the application. A trivial implementation ! * designed to handle only @c file resources can use @c std::filebuf: * * @code --- 4660,4669 ---- * @brief Fetch a network resource. * ! * Called by @c #get_resource, clients of OpenVRML are required to provide an ! * implementation for this function. OpenVRML depends on the implementation ! * of this function for all of its input needs. As such, what kind of ! * resources OpenVRML is capable of resolving is entirely dependent on code ! * provided by the application. A trivial implementation designed to handle ! * only @c file resources can use @c std::filebuf: * * @code *************** *** 4773,4780 **** /** ! * @class openvrml::stream_listener * ! * @brief An interface to simplify asynchronously reading a @c ! * resource_istream. */ --- 4779,4786 ---- /** ! * @class openvrml::stream_listener openvrml/browser.h * ! * @brief An interface to simplify asynchronously reading a ! * @c resource_istream. */ *************** *** 4788,4792 **** * @brief Called once the stream is available for use. * ! * This function calls @c stream_listener::do_stream_available. * * @param[in] uri the URI associated with the stream. --- 4794,4798 ---- * @brief Called once the stream is available for use. * ! * This function calls @c #do_stream_available. * * @param[in] uri the URI associated with the stream. *************** *** 4803,4807 **** * @fn void openvrml::stream_listener::do_stream_available(const std::string & uri, const std::string & media_type) * ! * @brief Called by @c stream_listener::stream_available. * * Concrete @c stream_listener%s must override this function. --- 4809,4813 ---- * @fn void openvrml::stream_listener::do_stream_available(const std::string & uri, const std::string & media_type) * ! * @brief Called by @c #stream_available. * * Concrete @c stream_listener%s must override this function. *************** *** 4814,4818 **** * @brief Called when data is available. * ! * This function calls @c stream_listener::do_data_available. * * @param[in] data the data. --- 4820,4824 ---- * @brief Called when data is available. * ! * This function calls @c #do_data_available. * * @param[in] data the data. *************** *** 4828,4832 **** * @fn void openvrml::stream_listener::do_data_available(const std::vector<unsigned char> & data) * ! * @brief Called by @c stream_listener::data_available. * * @param[in] data the data. --- 4834,4838 ---- * @fn void openvrml::stream_listener::do_data_available(const std::vector<unsigned char> & data) * ! * @brief Called by @c #data_available. * * @param[in] data the data. *************** *** 4887,4891 **** /** ! * @class openvrml::invalid_vrml * * @brief Exception thrown when the parser fails due to errors in the VRML --- 4893,4897 ---- /** ! * @class openvrml::invalid_vrml openvrml/browser.h * * @brief Exception thrown when the parser fails due to errors in the VRML *************** *** 4937,4941 **** /** ! * @class openvrml::viewer_in_use * * @brief Exception thrown when attempting to associate a @c viewer --- 4943,4947 ---- /** ! * @class openvrml::viewer_in_use openvrml/browser.h * * @brief Exception thrown when attempting to associate a @c viewer *************** *** 4959,4963 **** /** ! * @class openvrml::browser_event * * @brief A <code>browser</code>-wide event. --- 4965,4969 ---- /** ! * @class openvrml::browser_event openvrml/browser.h * * @brief A <code>browser</code>-wide event. *************** *** 5043,5047 **** /** ! * @class openvrml::browser_listener * * @brief This class should be inherited by classes that want to listen for --- 5049,5053 ---- /** ! * @class openvrml::browser_listener openvrml/browser.h * * @brief This class should be inherited by classes that want to listen for *************** *** 5054,5059 **** * @var openvrml::browser_listener::browser * ! * @brief @c browser instances need to call @c ! * browser_listener::browser_changed. */ --- 5060,5064 ---- * @var openvrml::browser_listener::browser * ! * @brief @c browser instances need to call @c #browser_changed. */ *************** *** 5069,5074 **** * @brief Send a @c browser_event. * ! * This function delegates to ! * @c browser_listener::do_browser_changed. * * @param[in] event the @c browser_event to send. --- 5074,5078 ---- * @brief Send a @c browser_event. * ! * This function delegates to @c #do_browser_changed. * * @param[in] event the @c browser_event to send. *************** *** 5087,5091 **** /** ! * @class openvrml::browser * * @brief Encapsulates a VRML browser. --- 5091,5095 ---- /** ! * @class openvrml::browser openvrml/browser.h * * @brief Encapsulates a VRML browser. *************** *** 5125,5129 **** * @internal * ! * @class openvrml::browser::node_metatype_map * * @brief The map of @c node_metatype%s. --- 5129,5133 ---- * @internal * ! * @class openvrml::browser::node_metatype_map openvrml/browser.h * * @brief The map of @c node_metatype%s. *************** *** 5425,5433 **** * @internal * * @var boost::thread_group openvrml::browser::load_proto_thread_group_ * ! * @brief The threads that load EXTERNPROTO implementations. * ! * These threads @b must be joined by the browser before it is destroyed. */ --- 5429,5448 ---- * @internal * + * @var boost::scoped_ptr<boost::thread> openvrml::browser::load_root_scene_thread_ + * + * @brief The thread that loads the root scene. + * + * This thread is spawned by @c #load_url. It is joined there (in a subsequent + * call to @c #load_url) or when the @c browser is destroyed. + */ + + /** + * @internal + * * @var boost::thread_group openvrml::browser::load_proto_thread_group_ * ! * @brief The threads that load @c EXTERNPROTO implementations. * ! * These threads @b must be joined by the @c browser before it is destroyed. */ *************** *** 5445,5449 **** * @var openvrml::script_node_metatype openvrml::browser::script_node_metatype_ * ! * @brief @c node_metatype for Script nodes in the browser. */ --- 5460,5464 ---- * @var openvrml::script_node_metatype openvrml::browser::script_node_metatype_ * ! * @brief @c node_metatype for Script @c node%s in the @c browser. */ *************** *** 5453,5457 **** * @var openvrml::scene * openvrml::browser::scene_ * ! * @brief Pointer to the root scene. */ --- 5468,5472 ---- * @var openvrml::scene * openvrml::browser::scene_ * ! * @brief Pointer to the root @c scene. */ *************** *** 5461,5466 **** * @var boost::intrusive_ptr<openvrml::node> openvrml::browser::default_viewpoint_ * ! * @brief The “default” @c viewpoint_node used when no @c ! * viewpoint_node in the scene is bound. */ --- 5476,5481 ---- * @var boost::intrusive_ptr<openvrml::node> openvrml::browser::default_viewpoint_ * ! * @brief The “default” @c viewpoint_node used when no ! * @c viewpoint_node in the scene is bound. */ *************** *** 5495,5499 **** * @var std::list<openvrml::viewpoint_node *> openvrml::browser::viewpoint_list * ! * @brief A list of all the Viewpoint nodes in the browser. */ --- 5510,5514 ---- * @var std::list<openvrml::viewpoint_node *> openvrml::browser::viewpoint_list * ! * @brief A list of all the Viewpoint @c node%s in the @c browser. */ *************** *** 5503,5507 **** * @var std::list<openvrml::node *> openvrml::browser::scoped_lights * ! * @brief A list of all the scoped light nodes in the browser. */ --- 5518,5522 ---- * @var std::list<openvrml::node *> openvrml::browser::scoped_lights * ! * @brief A list of all the scoped light @c node%s in the @c browser. */ *************** *** 5511,5515 **** * @var std::list<openvrml::script_node *> openvrml::browser::scripts * ! * @brief A list of all the Script nodes in the browser. */ --- 5526,5530 ---- * @var std::list<openvrml::script_node *> openvrml::browser::scripts * ! * @brief A list of all the Script @c node%s in the @c browser. */ *************** *** 5519,5523 **** * @var std::list<openvrml::time_dependent_node *> openvrml::browser::timers * ! * @brief A list of all the TimeSensor nodes in the browser. */ --- 5534,5538 ---- * @var std::list<openvrml::time_dependent_node *> openvrml::browser::timers * ! * @brief A list of all the TimeSensor @c node%s in the @c browser. */ *************** *** 5527,5532 **** * @var std::set<openvrml::browser_listener *> openvrml::browser::listeners_ * ! * @brief The set of @c browser_listener%s that will receive @c ! * browser_event%s. * * @sa openvrml::browser::add_listener --- 5542,5547 ---- * @var std::set<openvrml::browser_listener *> openvrml::browser::listeners_ * ! * @brief The set of @c browser_listener%s that will receive ! * @c browser_event%s. * * @sa openvrml::browser::add_listener *************** *** 5543,5547 **** * @var boost::mutex openvrml::browser::modified_mutex_ * ! * @brief Mutex protecting @c browser::modified_. */ --- 5558,5562 ---- * @var boost::mutex openvrml::browser::modified_mutex_ * ! * @brief Mutex protecting @c #modified_. */ *************** *** 5596,5600 **** * @var boost::mutex openvrml::browser::out_mutex_ * ! * @brief Mutex guarding @a out_. */ --- 5611,5615 ---- * @var boost::mutex openvrml::browser::out_mutex_ * ! * @brief Mutex guarding @c #out_. */ *************** *** 5608,5612 **** * @var boost::mutex openvrml::browser::err_mutex_ * ! * @brief Mutex guarding @a err_. */ --- 5623,5627 ---- * @var boost::mutex openvrml::browser::err_mutex_ * ! * @brief Mutex guarding @c #err_. */ *************** *** 5621,5629 **** * * @brief Set by @c node::bounding_volume_dirty on any node in this browser graph, ! * cleared by @c update_flags. * ! * @c true if the bvolume dirty flag has been set on a node in the ! * browser graph, but has not yet been propagated to that node's ! * ancestors. */ --- 5636,5644 ---- * * @brief Set by @c node::bounding_volume_dirty on any node in this browser graph, ! * cleared by @c #update_flags. * ! * @c true if the bvolume dirty flag has been set on a @c node in the ! * @c browser graph, but has not yet been propagated to that ! * <code>node</code>'s ancestors. */ *************** *** 5713,5720 **** * the browser, it will be replaced. * ! * @warning If @c std::bad_alloc is thrown here, the <code>browser</code>'s @c ! * node_metatype map is left in an unknown state. In all likelihood ! * any preexisting entry in the map with the same implementation ! * identifier as @p id will have been removed. * * @param[in] id a @c node_metatype identifier. --- 5728,5735 ---- * the browser, it will be replaced. * ! * @warning If @c std::bad_alloc is thrown here, the <code>browser</code>'s ! * @c node_metatype map is left in an unknown state. In all ! * likelihood any preexisting entry in the map with the same ! * implementation identifier as @p id will have been removed. * * @param[in] id a @c node_metatype identifier. *************** *** 5932,5940 **** /** ! * @brief Get the list of @link viewpoint_node viewpoint_nodes@endlink for the ! * world. * ! * @return the list of @link viewpoint_node viewpoint_nodes@endlink for the ! * world. */ const std::list<openvrml::viewpoint_node *> & --- 5947,5953 ---- /** ! * @brief Get the list of @c viewpoint_node%s for the world. * ! * @return the list of @c viewpoint_node%s for the world. */ const std::list<openvrml::viewpoint_node *> & *************** *** 5989,5993 **** * @brief Get the @c browser version. * ! * @return the version of openvrml. * * Specific browsers may wish to override this method. --- 6002,6006 ---- * @brief Get the @c browser version. * ! * @return the version of OpenVRML. * * Specific browsers may wish to override this method. *************** *** 6709,6714 **** * The invariant is that if a <code>node</code>'s bounding volume is out of * date, then the bounding volumes of all that <code>node</code>'s ancestors ! * must be out of date. However, @c node does not maintain a parent pointer. So ! * we must d... [truncated message content] |
From: Braden M. <br...@us...> - 2007-03-06 07:24:08
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml-gl/openvrml/gl In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12313/src/libopenvrml-gl/openvrml/gl Modified Files: viewer.cpp Log Message: Doc-comment improvements. Index: viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml-gl/openvrml/gl/viewer.cpp,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** viewer.cpp 22 Jan 2007 23:38:01 -0000 1.60 --- viewer.cpp 6 Mar 2007 07:24:02 -0000 1.61 *************** *** 20,23 **** --- 20,29 ---- // + /** + * @file openvrml/gl/viewer.h + * + * @brief Definition of @c openvrml::gl::viewer. + */ + # ifdef HAVE_CONFIG_H # include <config.h> *************** *** 356,360 **** /** ! * @class openvrml::gl::viewer * * @brief Abstract class for display of VRML models using OpenGL/Mesa. --- 362,366 ---- /** ! * @class openvrml::gl::viewer openvrml/gl/viewer.h * * @brief Abstract class for display of VRML models using OpenGL/Mesa. *************** *** 497,512 **** /** ! * @class openvrml::gl::viewer::modelview_matrix_stack * * @brief Encapsulates an extended modelview matrix stack. * * OpenGL requires that implementations have a modelview matrix stack with a ! * maximum depth of only 32. Regardless of that, the maximum depth can be ! * expected to vary between implementations, and we don't want nesting of * Transform nodes in VRML worlds to be constrained by this limit. * ! * modelview_matrix_stack uses the OpenGL modelview matrix stack until it fills ! * up, at which point any additional matrices that spill over are pushed onto ! * a conventional stack of mat4f. */ --- 503,518 ---- /** ! * @class openvrml::gl::viewer::modelview_matrix_stack openvrml/gl/viewer.h * * @brief Encapsulates an extended modelview matrix stack. * * OpenGL requires that implementations have a modelview matrix stack with a ! * maximum depth of only 32. Regardless of that, the maximum depth can be ! * expected to vary between implementations; and we don't want nesting of * Transform nodes in VRML worlds to be constrained by this limit. * ! * @c modelview_matrix_stack uses the OpenGL modelview matrix stack until it ! * fills up, at which point any additional matrices that spill over are pushed ! * onto a conventional stack of @c mat4f. */ *************** *** 997,1040 **** } - - // - // beginObject/endObject should correspond to grouping nodes. - // Group-level scoping for directional lights, anchors, sensors - // are handled here. Display lists can optionally be created - // (but the retain flag is just a hint, not guaranteed). Retained - // objects can be referred to later to avoid duplicating geometry. - // OpenGL doesn't allow nested objects. The top-down approach of - // putting entire groups in display lists is faster for static - // scenes but uses more memory and means that if anything is changed, - // the whole object must be tossed. - // The bottom-up model wraps each piece of geometry in a dlist but - // requires traversal of the entire scene graph to reference each dlist. - // The decision about what groups to stuff in an object is punted to - // the object itself, as it can decide whether it is mutable. - // - // The OpenGL viewer never puts objects in display lists, so the - // retain hint is ignored. - /** * @brief Begin a display list. * ! * begin_object/end_object should correspond to ! * @link grouping_node grouping_nodes@endlink. ! * Group-level scoping for directional lights, anchors, sensors ! * are handled here. Display lists can optionally be created ! * (but the retain flag is just a hint, not guaranteed). Retained ! * objects can be referred to later to avoid duplicating geometry. ! * OpenGL doesn't allow nested objects. The top-down approach of ! * putting entire groups in display lists is faster for static ! * scenes but uses more memory and means that if anything is changed, ! * the whole object must be tossed. * ! * The bottom-up model wraps each piece of geometry in a dlist but ! * requires traversal of the entire scene graph to reference each dlist. ! * The decision about what groups to stuff in an object is punted to ! * the object itself, as it can decide whether it is mutable. * ! * The OpenGL viewer never puts objects in display lists, so the ! * retain hint is ignored. * * @param[in] id not used. --- 1003,1025 ---- } /** * @brief Begin a display list. * ! * @c #begin_object and @c #end_object should correspond to @c ! * grouping_node%s. Group-level scoping for directional lights, anchors, ! * sensors are handled here. Display lists can optionally be created (but the ! * retain flag is just a hint, not guaranteed). Retained objects can be ! * referred to later to avoid duplicating geometry. OpenGL doesn't allow ! * nested objects. The top-down approach of putting entire groups in display ! * lists is faster for static scenes but uses more memory and means that if ! * anything is changed, the whole object must be tossed. * ! * The bottom-up model wraps each piece of geometry in a dlist but requires ! * traversal of the entire scene graph to reference each dlist. The decision ! * about what groups to stuff in an object is punted to the object itself, as ! * it can decide whether it is mutable. * ! * The OpenGL viewer never puts objects in display lists, so the retain hint ! * is ignored. * * @param[in] id not used. *************** *** 2229,2233 **** * @param[in] last the last point in the extrusion spine. * ! * @return the <var>y</var>axis of the spine-aligned cross-section plane * at @p point. */ --- 2214,2218 ---- * @param[in] last the last point in the extrusion spine. * ! * @return the <var>y</var>-axis of the spine-aligned cross-section plane * at @p point. */ |
From: Braden M. <br...@us...> - 2007-03-06 07:23:47
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12193 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.133 retrieving revision 1.1310.2.134 diff -C2 -d -r1.1310.2.133 -r1.1310.2.134 *** ChangeLog 6 Mar 2007 03:25:58 -0000 1.1310.2.133 --- ChangeLog 6 Mar 2007 07:23:10 -0000 1.1310.2.134 *************** *** 1,2 **** --- 1,26 ---- + 2007-03-06 Braden McDaniel <br...@en...> + + Doc-comment improvements. + + * src/libopenvrml/openvrml/basetypes.cpp + * src/libopenvrml/openvrml/basetypes.h + * src/libopenvrml/openvrml/bounding_volume.cpp + * src/libopenvrml/openvrml/browser.cpp + * src/libopenvrml/openvrml/event.cpp + * src/libopenvrml/openvrml/event.h + * src/libopenvrml/openvrml/exposedfield.cpp + * src/libopenvrml/openvrml/field_value.cpp + * src/libopenvrml/openvrml/frustum.cpp + * src/libopenvrml/openvrml/node.cpp + * src/libopenvrml/openvrml/node.h + * src/libopenvrml/openvrml/node_impl_util.cpp + * src/libopenvrml/openvrml/rendering_context.cpp + * src/libopenvrml/openvrml/scope.cpp + * src/libopenvrml/openvrml/script.cpp + * src/libopenvrml/openvrml/viewer.cpp + * src/libopenvrml/openvrml/viewer.h + * src/libopenvrml/openvrml/vrml97node.cpp + * src/libopenvrml-gl/openvrml/gl/viewer.cpp + 2007-03-05 Braden McDaniel <br...@en...> |
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12193/src/libopenvrml/openvrml Modified Files: Tag: OpenVRML-0_16-BRANCH basetypes.cpp basetypes.h bounding_volume.cpp browser.cpp event.cpp event.h exposedfield.cpp field_value.cpp frustum.cpp node.cpp node.h node_impl_util.cpp rendering_context.cpp scope.cpp script.cpp viewer.cpp viewer.h vrml97node.cpp Log Message: Doc-comment improvements. Index: node_impl_util.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node_impl_util.cpp,v retrieving revision 1.15 retrieving revision 1.15.2.1 diff -C2 -d -r1.15 -r1.15.2.1 *** node_impl_util.cpp 25 Jul 2006 05:05:47 -0000 1.15 --- node_impl_util.cpp 6 Mar 2007 07:23:12 -0000 1.15.2.1 *************** *** 1,3 **** ! // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML --- 1,3 ---- ! // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- // // OpenVRML *************** *** 23,26 **** --- 23,32 ---- /** + * @file openvrml/node_impl_util.h + * + * @brief Definition of utility classes to facilitate node implementations. + */ + + /** * @namespace openvrml::node_impl_util * Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.88.2.2 retrieving revision 1.88.2.3 diff -C2 -d -r1.88.2.2 -r1.88.2.3 *** node.cpp 10 Dec 2006 07:07:08 -0000 1.88.2.2 --- node.cpp 6 Mar 2007 07:23:11 -0000 1.88.2.3 *************** *** 35,39 **** /** ! * @class openvrml::unsupported_interface * * @brief Exception to indicate that a @c node interface is not supported. --- 35,45 ---- /** ! * @file openvrml/node.h ! * ! * @brief Abstract node types and supporting types. ! */ ! ! /** ! * @class openvrml::unsupported_interface openvrml/node.h * * @brief Exception to indicate that a @c node interface is not supported. *************** *** 97,101 **** /** ! * @class openvrml::node_interface * * @brief Type information for an interface of a @c node. --- 103,107 ---- /** ! * @class openvrml::node_interface openvrml/node.h * * @brief Type information for an interface of a @c node. *************** *** 309,313 **** /** ! * @struct openvrml::node_interface_matches_eventin * * @brief Determine if a @c node_interface matches an @c eventIn identifier. --- 315,319 ---- /** ! * @struct openvrml::node_interface_matches_eventin openvrml/node.h * * @brief Determine if a @c node_interface matches an @c eventIn identifier. *************** *** 348,352 **** /** ! * @struct openvrml::node_interface_matches_eventout * * @brief Determine if a @c node_interface matches an @c eventOut identifier. --- 354,358 ---- /** ! * @struct openvrml::node_interface_matches_eventout openvrml/node.h * * @brief Determine if a @c node_interface matches an @c eventOut identifier. *************** *** 388,392 **** /** ! * @struct openvrml::node_interface_matches_exposedfield * * @brief Determine if a @c node_interface matches an @c exposedField --- 394,398 ---- /** ! * @struct openvrml::node_interface_matches_exposedfield openvrml/node.h * * @brief Determine if a @c node_interface matches an @c exposedField *************** *** 407,413 **** * * A @c node_interface matches an @c exposedField identifier if the ! * @c node_interface%'s @a type is @c node_interface::exposedfield_id and the ! * @c node_interface%'s @a id is lexicographically equal to the @c exposedField ! * identifier. * * @param[in] interface @c node_interface. --- 413,419 ---- * * A @c node_interface matches an @c exposedField identifier if the ! * <code>node_interface</code>'s @a type is @c node_interface::exposedfield_id ! * and the <code>node_interface</code>'s @a id is lexicographically equal to ! * the @c exposedField identifier. * * @param[in] interface @c node_interface. *************** *** 420,424 **** /** ! * @struct openvrml::node_interface_matches_field * * @brief Determine if a @c node_interface matches an field --- 426,430 ---- /** ! * @struct openvrml::node_interface_matches_field openvrml/node.h * * @brief Determine if a @c node_interface matches an field *************** *** 450,454 **** /** ! * @struct openvrml::node_interface_compare * * @brief Function object to compare two @c node_interface%s based on their --- 456,460 ---- /** ! * @struct openvrml::node_interface_compare openvrml/node.h * * @brief Function object to compare two @c node_interface%s based on their *************** *** 541,545 **** /** ! * @class openvrml::node_metatype_id * * @brief Identifier for @c node_metatype%s. --- 547,551 ---- /** ! * @class openvrml::node_metatype_id openvrml/node.h * * @brief Identifier for @c node_metatype%s. *************** *** 706,710 **** /** ! * @class openvrml::node_metatype * * @brief A class object for node instances. --- 712,716 ---- /** ! * @class openvrml::node_metatype openvrml/node.h * * @brief A class object for node instances. *************** *** 784,788 **** * new root @c scene. It is called after the individual @c node instances * have been initialized, and before the world starts running. It delegates ! * to @c node_metatype::do_initialize. * * @param[in,out] initial_viewpoint the @c viewpoint_node that should be bound --- 790,794 ---- * new root @c scene. It is called after the individual @c node instances * have been initialized, and before the world starts running. It delegates ! * to @c #do_initialize. * * @param[in,out] initial_viewpoint the @c viewpoint_node that should be bound *************** *** 818,822 **** * @brief <code>node_metatype</code>-specific rendering. * ! * This function delegates to @c node_metatype::do_render. * * @param[in,out] v the @c viewer to which to render. --- 824,828 ---- * @brief <code>node_metatype</code>-specific rendering. * ! * This function delegates to @c #do_render. * * @param[in,out] v the @c viewer to which to render. *************** *** 894,899 **** * * This function is called during destruction of the @c browser, after the ! * root @c scene has been shut down. This function delegates to @c ! * node_metatype::do_shutdown. * * @param[in] time the current time. --- 900,905 ---- * * This function is called during destruction of the @c browser, after the ! * root @c scene has been shut down. This function delegates to ! * @c #do_shutdown. * * @param[in] time the current time. *************** *** 907,911 **** * @brief Shut down. * ! * This function is called by @c node_metatype::shutdown. * * @param[in] time the current time. --- 913,917 ---- * @brief Shut down. * ! * This function is called by @c #shutdown. * * @param[in] time the current time. *************** *** 923,927 **** /** ! * @class openvrml::node_type * * @brief Type information object for @c node%s. --- 929,933 ---- /** ! * @class openvrml::node_type openvrml/node.h * * @brief Type information object for @c node%s. *************** *** 989,993 **** * @brief Get the set of interfaces for the @c node_type. * ! * This function delegates to @c node_type::do_interfaces. * * @return the set of interfaces. --- 995,999 ---- * @brief Get the set of interfaces for the @c node_type. * ! * This function delegates to @c #do_interfaces. * * @return the set of interfaces. *************** *** 1116,1120 **** /** ! * @class openvrml::field_value_type_mismatch * * @brief Thrown when field value types do not match, generally in a @c ROUTE --- 1122,1126 ---- /** ! * @class openvrml::field_value_type_mismatch openvrml/node.h * * @brief Thrown when field value types do not match, generally in a @c ROUTE *************** *** 1157,1161 **** /** ! * @class openvrml::node * * @brief A @c node in the scene graph. --- 1163,1167 ---- /** ! * @class openvrml::node openvrml/node.h * * @brief A @c node in the scene graph. *************** *** 3048,3052 **** /** ! * @class openvrml::appearance_node * * @brief Abstract base class for appearance nodes. --- 3054,3058 ---- /** ! * @class openvrml::appearance_node openvrml/node.h * * @brief Abstract base class for appearance nodes. *************** *** 3133,3137 **** /** ! * @class openvrml::bounded_volume_node * * @brief Abstract base class for nodes that represent a bounded volume in the --- 3139,3143 ---- /** ! * @class openvrml::bounded_volume_node openvrml/node.h * * @brief Abstract base class for nodes that represent a bounded volume in the *************** *** 3257,3261 **** /** ! * @class openvrml::child_node * * @brief Abstract base class for child nodes. --- 3263,3267 ---- /** ! * @class openvrml::child_node openvrml/node.h * * @brief Abstract base class for child nodes. *************** *** 3383,3387 **** /** ! * @class openvrml::color_node * * @brief Abstract base class for color nodes. --- 3389,3393 ---- /** ! * @class openvrml::color_node openvrml/node.h * * @brief Abstract base class for color nodes. *************** *** 3427,3431 **** /** ! * @class openvrml::color_rgba_node * * @brief Abstract base class for RGBA color nodes. --- 3433,3437 ---- /** ! * @class openvrml::color_rgba_node openvrml/node.h * * @brief Abstract base class for RGBA color nodes. *************** *** 3472,3476 **** /** ! * @class openvrml::coordinate_node * * @brief Abstract base class for coordinate nodes. --- 3478,3482 ---- /** ! * @class openvrml::coordinate_node openvrml/node.h * * @brief Abstract base class for coordinate nodes. *************** *** 3517,3521 **** /** ! * @class openvrml::font_style_node * * @brief Abstract base class for font style nodes. --- 3523,3527 ---- /** ! * @class openvrml::font_style_node openvrml/node.h * * @brief Abstract base class for font style nodes. *************** *** 3632,3636 **** /** ! * @class openvrml::geometry_node * * @brief Abstract base class for geometry nodes. --- 3638,3642 ---- /** ! * @class openvrml::geometry_node openvrml/node.h * * @brief Abstract base class for geometry nodes. *************** *** 3763,3767 **** /** ! * @class openvrml::grouping_node * * @brief Abstract base class for grouping nodes. --- 3769,3773 ---- /** ! * @class openvrml::grouping_node openvrml/node.h * * @brief Abstract base class for grouping nodes. *************** *** 3859,3863 **** /** ! * @class openvrml::light_node * * @brief Abstract base class for light nodes. --- 3865,3869 ---- /** ! * @class openvrml::light_node openvrml/node.h * * @brief Abstract base class for light nodes. *************** *** 3897,3901 **** /** ! * @class openvrml::material_node * * @brief Abstract base class for material nodes. --- 3903,3907 ---- /** ! * @class openvrml::material_node openvrml/node.h * * @brief Abstract base class for material nodes. *************** *** 3982,3986 **** /** ! * @class openvrml::navigation_info_node * * @brief Abstract base class for normal nodes. --- 3988,3992 ---- /** ! * @class openvrml::navigation_info_node openvrml/node.h * * @brief Abstract base class for normal nodes. *************** *** 4061,4065 **** /** ! * @class openvrml::normal_node * * @brief Abstract base class for normal nodes. --- 4067,4071 ---- /** ! * @class openvrml::normal_node openvrml/node.h * * @brief Abstract base class for normal nodes. *************** *** 4105,4109 **** /** ! * @class openvrml::pointing_device_sensor_node * * @brief A node that can be affected by a pointing device. --- 4111,4115 ---- /** ! * @class openvrml::pointing_device_sensor_node openvrml/node.h * * @brief A node that can be affected by a pointing device. *************** *** 4181,4185 **** /** ! * @class openvrml::scoped_light_node * * @brief A light that falls within a specified area. --- 4187,4191 ---- /** ! * @class openvrml::scoped_light_node openvrml/node.h * * @brief A light that falls within a specified area. *************** *** 4241,4245 **** /** ! * @class openvrml::sound_source_node * * @brief Abstract base class for sound source nodes. --- 4247,4251 ---- /** ! * @class openvrml::sound_source_node openvrml/node.h * * @brief Abstract base class for sound source nodes. *************** *** 4278,4282 **** /** ! * @class openvrml::texture_node * * @brief Abstract base class for texture nodes. --- 4284,4288 ---- /** ! * @class openvrml::texture_node openvrml/node.h * * @brief Abstract base class for texture nodes. *************** *** 4394,4398 **** /** ! * @class openvrml::texture_coordinate_node * * @brief Abstract base class for texture coordinate nodes. --- 4400,4404 ---- /** ! * @class openvrml::texture_coordinate_node openvrml/node.h * * @brief Abstract base class for texture coordinate nodes. *************** *** 4440,4444 **** /** ! * @class openvrml::texture_transform_node * * @brief Abstract base class for texture transform nodes. --- 4446,4450 ---- /** ! * @class openvrml::texture_transform_node openvrml/node.h * * @brief Abstract base class for texture transform nodes. *************** *** 4496,4500 **** /** ! * @class openvrml::time_dependent_node * * @brief Abstract base class for time-dependent nodes. --- 4502,4506 ---- /** ! * @class openvrml::time_dependent_node openvrml/node.h * * @brief Abstract base class for time-dependent nodes. *************** *** 4553,4557 **** /** ! * @class openvrml::transform_node * * @brief Abstract base class for transform nodes. --- 4559,4563 ---- /** ! * @class openvrml::transform_node openvrml/node.h * * @brief Abstract base class for transform nodes. *************** *** 4601,4605 **** /** ! * @class openvrml::viewpoint_node * * @brief Abstract base class for viewpoint nodes. --- 4607,4611 ---- /** ! * @class openvrml::viewpoint_node openvrml/node.h * * @brief Abstract base class for viewpoint nodes. *************** *** 4685,4708 **** /** ! * @class openvrml::node_traverser * ! * @brief Traverse the children of each @c node in a node hierarchy only once. * * The @c node_traverser provides a generalized traversal mechanism that * avoids redundantly traversing branches of the @c node hierarchy. If a * @c node occurs multiple places in a branch, <strong>the children of that ! * @c node will be visted in the traversal only once</strong>. * * For each @c node encountered in the traversal, @c node_traverser does the * following: * ! * -# Call @c node_traverser::on_entering. * -# Traverse descendants, if any. ! * -# Call @c node_traverser::on_leaving. * ! * Concrete subclasses of @c node_traverser implement the @c on_entering ! * and/or @c on_leaving member functions in order to perform some operation(s) * on each node. The traversal can be ended prematurely by calling ! * @c node_traverser::halt_traversal. */ --- 4691,4715 ---- /** ! * @class openvrml::node_traverser openvrml/node.h * ! * @brief Traverse the children of each @c node in a @c node hierarchy only ! * once. * * The @c node_traverser provides a generalized traversal mechanism that * avoids redundantly traversing branches of the @c node hierarchy. If a * @c node occurs multiple places in a branch, <strong>the children of that ! * @c node will be visited in the traversal only once</strong>. * * For each @c node encountered in the traversal, @c node_traverser does the * following: * ! * -# Call @c #on_entering. * -# Traverse descendants, if any. ! * -# Call @c #on_leaving. * ! * Concrete subclasses of @c node_traverser implement the @c #on_entering ! * and/or @c #on_leaving member functions in order to perform some operation(s) * on each node. The traversal can be ended prematurely by calling ! * @c #halt_traversal. */ *************** *** 4745,4749 **** * * In addition to @c std::bad_alloc, this function throws any exception thrown ! * from @c on_entering or @c on_leaving. * * @param[in,out] n the root @c node of the branch to traverse. --- 4752,4756 ---- * * In addition to @c std::bad_alloc, this function throws any exception thrown ! * from @c #on_entering or @c #on_leaving. * * @param[in,out] n the root @c node of the branch to traverse. *************** *** 4768,4772 **** * @overload * ! * @brief Traverse a <code>node</code>. * * @param[in,out] node the root node of the branch to traverse. --- 4775,4779 ---- * @overload * ! * @brief Traverse a @c node. * * @param[in,out] node the root node of the branch to traverse. *************** *** 4795,4804 **** /** ! * @brief Traverse a <code>std::vector</code> of <code>node</code>s. * * @overload * ! * @param[in,out] nodes the root @link openvrml::node nodes@endlink of the branch to ! * traverse. */ void --- 4802,4811 ---- /** ! * @brief Traverse a @c std::vector of @c node%s. * * @overload * ! * @param[in,out] nodes the root @link openvrml::node nodes@endlink of the ! * branch to traverse. */ void *************** *** 4831,4839 **** * * If this method is called during a traversal, no more descendant @c node%s ! * will be traversed. Note that if @c halt_traversal is called in the ! * implementation of @c on_entering, @c on_leaving will still be called for * the current node and any parent nodes (that is, any node for which ! * @c on_entering has been called). Implementations of @c on_leaving can call ! * @c node_traverser::halted to check whether the traversal has been halted. */ void openvrml::node_traverser::halt_traversal() OPENVRML_NOTHROW --- 4838,4846 ---- * * If this method is called during a traversal, no more descendant @c node%s ! * will be traversed. Note that if @c #halt_traversal is called in the ! * implementation of @c #on_entering, @c #on_leaving will still be called for * the current node and any parent nodes (that is, any node for which ! * @c #on_entering has been called). Implementations of @c #on_leaving can ! * call @c #halted to check whether the traversal has been halted. */ void openvrml::node_traverser::halt_traversal() OPENVRML_NOTHROW *************** *** 4845,4849 **** * @brief Indicate whether the traversal has been halted. * ! * This function is useful in implementations of @c on_leaving that need to * check whether the traversal has been halted. * --- 4852,4856 ---- * @brief Indicate whether the traversal has been halted. * ! * This function is useful in implementations of @c #on_leaving that need to * check whether the traversal has been halted. * Index: node.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.h,v retrieving revision 1.57 retrieving revision 1.57.2.1 diff -C2 -d -r1.57 -r1.57.2.1 *** node.h 6 Aug 2006 03:37:19 -0000 1.57 --- node.h 6 Mar 2007 07:23:12 -0000 1.57.2.1 *************** *** 25,32 **** # include <deque> - # include <list> # include <set> # include <utility> - # include <boost/thread/mutex.hpp> # include <boost/thread/recursive_mutex.hpp> # include <openvrml/field_value.h> --- 25,30 ---- Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.108.2.10 retrieving revision 1.108.2.11 diff -C2 -d -r1.108.2.10 -r1.108.2.11 *** vrml97node.cpp 25 Feb 2007 02:37:00 -0000 1.108.2.10 --- vrml97node.cpp 6 Mar 2007 07:23:12 -0000 1.108.2.11 *************** *** 16111,16118 **** * @brief Set the bind state. * ! * This function is called by ! * <code>bound_node_stack<BindableNode>::bind</code>. It sets the ! * "bind" state and fires an event; it does not actually put the ! * node onto the bound node stack. * * @param[in] val the bind state. --- 16111,16117 ---- * @brief Set the bind state. * ! * This function is called by @c bound_node_stack<BindableNode>::bind. It ! * sets the “bind” state and fires an event; it does not ! * actually put the node onto the bound node stack. * * @param[in] val the bind state. *************** *** 21476,21480 **** node_metatype(text_metatype::id, browser) { ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Init_FreeType(&this->freeTypeLibrary); --- 21475,21479 ---- node_metatype(text_metatype::id, browser) { ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Init_FreeType(&this->freeTypeLibrary); *************** *** 21490,21494 **** text_metatype::~text_metatype() OPENVRML_NOTHROW { ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Done_FreeType(this->freeTypeLibrary); --- 21489,21493 ---- text_metatype::~text_metatype() OPENVRML_NOTHROW { ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE FT_Error error = 0; error = FT_Done_FreeType(this->freeTypeLibrary); *************** *** 22589,22593 **** OPENVRML_NOTHROW { ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE if (this->face) { FT_Error ftError = FT_Done_Face(this->face); --- 22588,22592 ---- OPENVRML_NOTHROW { ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE if (this->face) { FT_Error ftError = FT_Done_Face(this->face); *************** *** 22597,22601 **** } ! # if OPENVRML_ENABLE_RENDER_TEXT_NODE OPENVRML_LOCAL ptrdiff_t utf8_to_ucs4_(const unsigned char * src_orig, --- 22596,22600 ---- } ! # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE OPENVRML_LOCAL ptrdiff_t utf8_to_ucs4_(const unsigned char * src_orig, Index: viewer.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/viewer.h,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -C2 -d -r1.12 -r1.12.2.1 *** viewer.h 12 Feb 2006 09:40:17 -0000 1.12 --- viewer.h 6 Mar 2007 07:23:12 -0000 1.12.2.1 *************** *** 23,28 **** # define OPENVRML_VIEWER_H - # include <cstddef> - # include <vector> # include <boost/utility.hpp> # include <openvrml/bounding_volume.h> --- 23,26 ---- Index: viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/viewer.cpp,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -C2 -d -r1.13 -r1.13.2.1 *** viewer.cpp 25 Feb 2006 08:37:27 -0000 1.13 --- viewer.cpp 6 Mar 2007 07:23:12 -0000 1.13.2.1 *************** *** 24,27 **** --- 24,33 ---- // + /** + * @file openvrml/viewer.h + * + * @brief Definition of @c openvrml::viewer. + */ + # ifdef HAVE_CONFIG_H # include <config.h> Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.77.2.1 retrieving revision 1.77.2.2 diff -C2 -d -r1.77.2.1 -r1.77.2.2 *** script.cpp 1 Jan 2007 21:25:20 -0000 1.77.2.1 --- script.cpp 6 Mar 2007 07:23:12 -0000 1.77.2.2 *************** *** 32,36 **** /** ! * @class openvrml::script * * @brief Abstract class implemented by scripting language bindings. --- 32,42 ---- /** ! * @file openvrml/script.h ! * ! * @brief Pluggable scripting engine support. ! */ ! ! /** ! * @class openvrml::script openvrml/script.h * * @brief Abstract class implemented by scripting language bindings. *************** *** 292,296 **** /** ! * @class openvrml::script_node_metatype * * @brief Class object for @c script_node%s. --- 298,302 ---- /** ! * @class openvrml::script_node_metatype openvrml/script.h * * @brief Class object for @c script_node%s. *************** *** 335,339 **** /** ! * @class openvrml::script_node * * @brief Represents a VRML Script node. --- 341,345 ---- /** ! * @class openvrml::script_node openvrml/script.h * * @brief Represents a VRML Script node. *************** *** 353,357 **** /** ! * @class openvrml::script_node::eventout * * @brief An @c event_emitter along with the emitted value. --- 359,363 ---- /** ! * @class openvrml::script_node::eventout openvrml/script.h * * @brief An @c event_emitter along with the emitted value. *************** *** 496,500 **** * @internal * ! * @class openvrml::script_node::script_node_type * * @brief Type objects for @c script_node%s. --- 502,506 ---- * @internal * ! * @class openvrml::script_node::script_node_type openvrml/script.h * * @brief Type objects for @c script_node%s. *************** *** 597,603 **** * @c script_node constructor. * ! * @param[in] scope the scope to which the node should belong. ! * @param[in] initial_values a map of initial values for the node's ! * @c field%s and @c exposedField%s. * * @exception unsupported_interface if @p initial_values specifies a field --- 603,611 ---- * @c script_node constructor. * ! * @param[in] scope the @c scope to which the @c node should ! * belong. ! * @param[in] initial_values a map of initial values for the ! * <code>node</code>'s @c field%s and ! * @c exposedField%s. * * @exception unsupported_interface if @p initial_values specifies a field *************** *** 1023,1027 **** * * @param[in] type the type of listener to create. ! * @param[in] id eventIn identifier. * @param[in] node the containing script_node. * --- 1031,1035 ---- * * @param[in] type the type of listener to create. ! * @param[in] id @c eventIn identifier. * @param[in] node the containing script_node. * *************** *** 1193,1197 **** * @internal * ! * @class openvrml::script_node::set_url_listener_t * * @brief @c set_url event listener. --- 1201,1205 ---- * @internal * ! * @class openvrml::script_node::set_url_listener_t openvrml/script.h * * @brief @c set_url event listener. *************** *** 1229,1233 **** * @brief Process an event. * ! * @param[in] value new url value. * @param[in] timestamp the current time. * --- 1237,1241 ---- * @brief Process an event. * ! * @param[in] value new @c url value. * @param[in] timestamp the current time. * *************** *** 1256,1260 **** * @internal * ! * @class openvrml::script_node::url_changed_emitter * * @brief @c url_changed event emitter. --- 1264,1268 ---- * @internal * ! * @class openvrml::script_node::url_changed_emitter openvrml/script.h * * @brief @c url_changed event emitter. *************** *** 1279,1285 **** /** ! * @brief The eventOut identifier. * ! * @return the eventOut identifier. */ const std::string --- 1287,1293 ---- /** ! * @brief The @c eventOut identifier. * ! * @return the @c eventOut identifier. */ const std::string *************** *** 1292,1298 **** * @internal * ! * @class openvrml::script_node::set_metadata_listener * ! * @brief set_metadata event listener. */ --- 1300,1306 ---- * @internal * ! * @class openvrml::script_node::set_metadata_listener openvrml/script.h * ! * @brief @c set_metadata event listener. */ *************** *** 1300,1304 **** * @brief Construct. * ! * @param[in] node a reference to the containing script_node. */ openvrml::script_node::set_metadata_listener:: --- 1308,1312 ---- * @brief Construct. * ! * @param[in] node a reference to the containing @c script_node. */ openvrml::script_node::set_metadata_listener:: *************** *** 1315,1321 **** /** ! * @brief Get the eventIn identifier. * ! * @return the eventIn identifier. */ const std::string --- 1323,1329 ---- /** ! * @brief Get the @c eventIn identifier. * ! * @return the @c eventIn identifier. */ const std::string *************** *** 1352,1358 **** * @internal * ! * @class openvrml::script_node::metadata_changed_emitter * ! * @brief metadata_changed event emitter. */ --- 1360,1366 ---- * @internal * ! * @class openvrml::script_node::metadata_changed_emitter openvrml/script.h * ! * @brief @c metadata_changed event emitter. */ *************** *** 1411,1415 **** * @var openvrml::sfbool openvrml::script_node::direct_output * ! * @brief directOutput field. */ --- 1419,1423 ---- * @var openvrml::sfbool openvrml::script_node::direct_output * ! * @brief @c directOutput field. */ *************** *** 1419,1423 **** * @var openvrml::sfbool openvrml::script_node::must_evaluate * ! * @brief mustEvaluate field. */ --- 1427,1431 ---- * @var openvrml::sfbool openvrml::script_node::must_evaluate * ! * @brief @c mustEvaluate field. */ *************** *** 1427,1431 **** * @var openvrml::script_node::set_url_listener_t openvrml::script_node::set_url_listener * ! * @brief set_url eventIn handler. */ --- 1435,1439 ---- * @var openvrml::script_node::set_url_listener_t openvrml::script_node::set_url_listener * ! * @brief @c set_url @c eventIn handler. */ *************** *** 1435,1439 **** * @var openvrml::mfstring openvrml::script_node::url_ * ! * @brief url exposedField. */ --- 1443,1447 ---- * @var openvrml::mfstring openvrml::script_node::url_ * ! * @brief @c url @c exposedField. */ *************** *** 1499,1504 **** * @var int openvrml::script_node::events_received * ! * @brief A count of the number of events received since script_node::update ! * was called. */ --- 1507,1512 ---- * @var int openvrml::script_node::events_received * ! * @brief A count of the number of events received since @c #update was ! * called. */ *************** *** 1510,1517 **** * directly when creating a new @c script_node from scratch. However, a * @c script_node can be duplicated (or “cloned”) by calling ! * @c node_type::create_node on @c script_node::type of a @c script_node ! * instance. This provides a consistent interface for cloning any node, ! * regardless of its type. OpenVRML uses this internally when instantiating ! * @c PROTO%s. * * @param[in] class_ the @c script_node_metatype. Typically --- 1518,1524 ---- * directly when creating a new @c script_node from scratch. However, a * @c script_node can be duplicated (or “cloned”) by calling ! * @c node_type::create_node on @c #type of a @c script_node instance. This ! * provides a consistent interface for cloning any node, regardless of its ! * type. OpenVRML uses this internally when instantiating @c PROTO%s. * * @param[in] class_ the @c script_node_metatype. Typically *************** *** 1693,1699 **** * @internal * ! * @brief Return a pointer to this script_node. * ! * @return a pointer to this script_node. */ openvrml::script_node * openvrml::script_node::to_script() OPENVRML_NOTHROW --- 1700,1706 ---- * @internal * ! * @brief Return a pointer to this @c script_node. * ! * @return a pointer to this @c script_node. */ openvrml::script_node * openvrml::script_node::to_script() OPENVRML_NOTHROW *************** *** 1739,1745 **** * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief eventOut map accessor. * ! * @return the eventOut map. */ --- 1746,1752 ---- * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief @c eventOut map accessor. * ! * @return the @c eventOut map. */ *************** *** 1748,1752 **** * * @brief Special assignment function to take into account the fact that ! * Script nodes can be self referential. * * “Undo” the refcounting appropriately: decrement the refcount on --- 1755,1759 ---- * * @brief Special assignment function to take into account the fact that ! * Script nodes can be self-referential. * * “Undo” the refcounting appropriately: decrement the refcount on *************** *** 1754,1759 **** * any self-references for which ownership is relinquished. * ! * @param[in] inval input sfnode. ! * @param[out] retval output sfnode. */ void openvrml::script_node::assign_with_self_ref_check(const sfnode & inval, --- 1761,1766 ---- * any self-references for which ownership is relinquished. * ! * @param[in] inval input @c sfnode. ! * @param[out] retval output @c sfnode. */ void openvrml::script_node::assign_with_self_ref_check(const sfnode & inval, *************** *** 1802,1807 **** * any self-references for which ownership is relinquished. * ! * @param[in] inval input mfnode. ! * @param[out] retval output mfnode. */ void openvrml::script_node::assign_with_self_ref_check(const mfnode & inval, --- 1809,1814 ---- * any self-references for which ownership is relinquished. * ! * @param[in] inval input @c mfnode. ! * @param[out] retval output @c mfnode. */ void openvrml::script_node::assign_with_self_ref_check(const mfnode & inval, *************** *** 1890,1901 **** * @brief Get an event listener. * ! * This method is called by node::event_listener. Subclasses must implement ! * this method. * ! * @param[in] id eventIn identifier. * * @return the event listener. * ! * @exception unsupported_interface if the node has no eventIn @p id. */ openvrml::event_listener & --- 1897,1908 ---- * @brief Get an event listener. * ! * This method is called by @c node::event_listener. Subclasses must ! * implement this method. * ! * @param[in] id @c eventIn identifier. * * @return the event listener. * ! * @exception unsupported_interface if the node has no @c eventIn @p id. */ openvrml::event_listener & *************** *** 1923,1933 **** * @brief Get an event emitter. * ! * This method is called by node::event_emitter. * ! * @param[in] id eventOut identifier. * * @return the event emitter. * ! * @exception unsupported_interface if the node has no eventOut @p id. */ openvrml::event_emitter & --- 1930,1940 ---- * @brief Get an event emitter. * ! * This method is called by @c node::event_emitter. * ! * @param[in] id @c eventOut identifier. * * @return the event emitter. * ! * @exception unsupported_interface if the @c node has no @c eventOut @p id. */ openvrml::event_emitter & *************** *** 1968,1978 **** * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief eventOut map. * ! * @return the eventOut map. */ /** ! * @brief Called by node::shutdown. * * @param[in] timestamp the current time. --- 1975,1985 ---- * @fn const openvrml::script_node::eventout_map_t & openvrml::script_node::eventout_map() const * ! * @brief @c eventOut map. * ! * @return the @c eventOut map. */ /** ! * @brief Called by @c node::shutdown. * * @param[in] timestamp the current time. *************** *** 1985,1989 **** /** ! * @brief render_child implementation. * * @param[in,out] v viewer implementation responsible for actually --- 1992,1996 ---- /** ! * @brief @c node::render_child implementation. * * @param[in,out] v viewer implementation responsible for actually *************** *** 2662,2666 **** /** ! * @class Base class template for SFColor, SFNode, SFRotation, * SFVec2f, SFVec3f. */ --- 2669,2673 ---- /** ! * @brief Base class template for SFColor, SFNode, SFRotation, * SFVec2f, SFVec3f. */ *************** *** 2690,2694 **** /** ! * @class Base class template for MFFloat, MFTime. * * In JavaScript, all floating point values are treated as doubles. --- 2697,2701 ---- /** ! * @brief Base class template for MFFloat, MFTime. * * In JavaScript, all floating point values are treated as doubles. Index: exposedfield.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/exposedfield.cpp,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** exposedfield.cpp 24 Jul 2006 23:55:14 -0000 1.6 --- exposedfield.cpp 6 Mar 2007 07:23:11 -0000 1.6.2.1 *************** *** 27,30 **** --- 27,36 ---- /** + * @file openvrml/exposedfield.h + * + * @brief Definition of @c openvrml::exposedfield. + */ + + /** * @class openvrml::exposedfield * Index: event.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/event.cpp,v retrieving revision 1.13.2.1 retrieving revision 1.13.2.2 diff -C2 -d -r1.13.2.1 -r1.13.2.2 *** event.cpp 23 Aug 2006 14:59:45 -0000 1.13.2.1 --- event.cpp 6 Mar 2007 07:23:11 -0000 1.13.2.2 *************** *** 27,31 **** /** ! * @class openvrml::event_listener * * @brief Abstract base class of event listeners. --- 27,37 ---- /** ! * @file openvrml/event.h ! * ! * @brief Event emitter and listener interfaces. ! */ ! ! /** ! * @class openvrml::event_listener openvrml/event.h * * @brief Abstract base class of event listeners. *************** *** 56,60 **** /** ! * @class openvrml::node_event_listener * * @brief Base class for event listeners of nodes. --- 62,66 ---- /** ! * @class openvrml::node_event_listener openvrml/event.h * * @brief Base class for event listeners of nodes. *************** *** 120,124 **** /** ! * @class openvrml::field_value_listener * * @brief Concrete event listener template. --- 126,130 ---- /** ! * @class openvrml::field_value_listener openvrml/event.h * * @brief Concrete event listener template. *************** *** 352,356 **** /** ! * @class openvrml::node_field_value_listener * * @brief Base class for @c field_value_listener%s that are members of nodes. --- 358,362 ---- /** ! * @class openvrml::node_field_value_listener openvrml/event.h * * @brief Base class for @c field_value_listener%s that are members of nodes. *************** *** 373,377 **** /** ! * @class openvrml::event_emitter * * @brief Abstract base class of event emitters. --- 379,383 ---- /** ! * @class openvrml::event_emitter openvrml/event.h * * @brief Abstract base class of event emitters. *************** *** 548,552 **** /** ! * @class openvrml::field_value_emitter * * @brief Concrete event emitter template. --- 554,558 ---- /** ! * @class openvrml::field_value_emitter openvrml/event.h * * @brief Concrete event emitter template. Index: frustum.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/frustum.cpp,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -C2 -d -r1.8 -r1.8.2.1 *** frustum.cpp 25 Feb 2006 08:37:27 -0000 1.8 --- frustum.cpp 6 Mar 2007 07:23:11 -0000 1.8.2.1 *************** *** 29,32 **** --- 29,38 ---- /** + * @file openvrml/frustum.h + * + * @brief Definition of @c openvrml::frustum. + */ + + /** * @class openvrml::frustum * Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.190.2.11 retrieving revision 1.190.2.12 diff -C2 -d -r1.190.2.11 -r1.190.2.12 *** browser.cpp 6 Mar 2007 03:25:59 -0000 1.190.2.11 --- browser.cpp 6 Mar 2007 07:23:11 -0000 1.190.2.12 *************** *** 64,67 **** --- 64,73 ---- # include "x3d_cad_geometry.h" + /** + * @file openvrml/browser.h + * + * @brief Classes that manage the scene. + */ + namespace openvrml { *************** *** 104,110 **** * * The @c proto_node_metatype is OpenVRML's in-memory representation of a ! * @c PROTO (as opposed to a @c PROTO instance). Through the @c ! * proto_node_type intermediary, it facilitates spawning any number of @c ! * proto_node instances. */ class OPENVRML_LOCAL proto_node_metatype : public node_metatype { --- 110,116 ---- * * The @c proto_node_metatype is OpenVRML's in-memory representation of a ! * @c PROTO (as opposed to a @c PROTO instance). Through the ! * @c proto_node_type intermediary, it facilitates spawning any number of ! * @c proto_node instances. */ class OPENVRML_LOCAL proto_node_metatype : public node_metatype { *************** *** 439,459 **** * And @c proto_node_type has, in turn, a many-to-one relationship with * the @c proto_node_metatype instance that creates them. Unlike a ! * typical node implementation, there will very likely be more than one @c ! * proto_node_metatype instance known to the @c browser instance; there * will be one for each @c PROTO known to the @c browser. * ! * As the @c proto_node_metatype encodes the data in a @c PROTO, the @c ! * proto_node_type can be seen as modeling @c EXTERNPROTO. Each @c ! * EXTERNPROTO will spawn a new @c proto_node_type from the @c ! * proto_node_metatype that corresponds to the @c PROTO to which the @c ! * EXTERNPROTO refers. Recall that an @c EXTERNPROTO provides a subset of ! * the interfaces defined for a @c PROTO; thus, for a @c PROTO with ! * <var>n</var> interfaces, there are <var>n</var>! possible unique @c ! * EXTERNPROTO%s (and thus unique @c proto_node_type instances). * * Structurally, the implementation of @c proto_node is very similar to * that of @c proto_node_metatype. The difference is that event pathways ! * for @c ROUTE%s and @c IS mappings are actually created in the @c ! * proto_node. The @c proto_node_metatype, on the other hand, includes * metadata about how these event pathways @e should be created. */ --- 445,465 ---- * And @c proto_node_type has, in turn, a many-to-one relationship with * the @c proto_node_metatype instance that creates them. Unlike a ! * typical node implementation, there will very likely be more than one ! * @c proto_node_metatype instance known to the @c browser instance; there * will be one for each @c PROTO known to the @c browser. * ! * As the @c proto_node_metatype encodes the data in a @c PROTO, the ! * @c proto_node_type can be seen as modeling @c EXTERNPROTO. Each ! * @c EXTERNPROTO will spawn a new @c proto_node_type from the ! * @c proto_node_metatype that corresponds to the @c PROTO to which the ! * @c EXTERNPROTO refers. Recall that an @c EXTERNPROTO provides a subset ! * of the interfaces defined for a @c PROTO; thus, for a @c PROTO with ! * <var>n</var> interfaces, there are <var>n</var>! possible unique ! * @c EXTERNPROTO%s (and thus unique @c proto_node_type instances). * * Structurally, the implementation of @c proto_node is very similar to * that of @c proto_node_metatype. The difference is that event pathways ! * for @c ROUTE%s and @c IS mappings are actually created in the ! * @c proto_node. The @c proto_node_metatype, on the other hand, includes * metadata about how these event pathways @e should be created. */ *************** *** 580,585 **** /** ! * @brief A node path is used to store the path to a node for the purpose ! * of duplicating a route in a cloned node hierarchy. */ typedef std::list<node_path_element> node_path_t; --- 586,591 ---- /** ! * @brief A @c node path is used to store the path to a @c node for the ! * purpose of duplicating a route in a cloned @c node hierarchy. */ typedef std::list<node_path_element> node_path_t; *************** *** 2567,2571 **** * @brief Construct. * ! * @param[in] t node type. */ default_navigation_info:: --- 2573,2577 ---- * @brief Construct. * ! * @param[in] t @c node_type. */ default_navigation_info:: *************** *** 3598,3604 **** * @param[in] uri URI associated with @p in. * @param[in] type MIME media type of the data to be read from @p in. ! * @param[in] scene a scene. ! * @param[out] nodes the root nodes. ! * @param[out] meta the scene metadata. * * @exception openvrml::bad_media_type --- 3604,3610 ---- * @param[in] uri URI associated with @p in. * @param[in] type MIME media type of the data to be read from @p in. ! * @param[in] scene a @c scene. ! * @param[out] nodes the root @c node%s. ! * @param[out] meta the @c scene metadata. * * @exception openvrml::bad_media_type *************** *** 4520,4524 **** /** ! * @class openvrml::resource_istream * * @brief An abstract input stream for network resources. --- 4526,4530 ---- /** ! * @class openvrml::resource_istream openvrml/browser.h * * @brief An abstract input stream for network resources. *************** *** 4550,4554 **** * @brief Get the URL associated with the stream. * ! * This function delegates to @c do_url. * * @return the URL associated with the stream. --- 4556,4560 ---- * @brief Get the URL associated with the stream. * ! * This function delegates to @c #do_url. * * @return the URL associated with the stream. *************** *** 4573,4577 **** * @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. --- 4579,4583 ---- * @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. *************** *** 4594,4598 **** * @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 --- 4600,4604 ---- * @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 *************** *** 4615,4622 **** /** ! * @class openvrml::stream_listener * ! * @brief An interface to simplify asynchronously reading a @c ! * resource_istream. */ --- 4621,4628 ---- /** ! * @class openvrml::stream_listener openvrml/browser.h * ! * @brief An interface to simplify asynchronously reading a ! * @c resource_istream. */ *************** *** 4630,4634 **** * @brief Called once the stream is available for use. * ! * This function calls @c stream_listener::do_stream_available. * * @param[in] uri the URI associated with the stream. --- 4636,4640 ---- * @brief Called once the stream is available for use. * ! * This function calls @c #do_stream_available. * * @param[in] uri the URI associated with the stream. *************** *** 4645,4649 **** * @fn void openvrml::stream_listener::do_stream_available(const std::string & uri, const std::string & media_type) * ! * @brief Called by @c stream_listener::stream_available. * * Concrete @c stream_listener%s must override this function. --- 4651,4655 ---- * @fn void openvrml::stream_listener::do_stream_available(const std::string & uri, const std::string & media_type) * ! * @brief Called by @c #stream_available. * * Concrete @c stream_listener%s must override this function. *************** *** 4656,4660 **** * @brief Called when data is available. * ! * This function calls @c stream_listener::do_data_available. * * @param[in] data the data. --- 4662,4666 ---- * @brief Called when data is available. * ! * This function calls @c #do_data_available. * * @param[in] data the data. *************** *** 4670,4674 **** * @fn void openvrml::stream_listener::do_data_available(const std::vector<unsigned char> & data) * ! * @brief Called by @c stream_listener::data_available. * * @param[in] data the data. --- 4676,4680 ---- * @fn void openvrml::stream_listener::do_data_available(const std::vector<unsigned char> & data) * ! * @brief Called by @c #data_available. * * @param[in] data the data. *************** *** 4729,4733 **** /** ! * @class openvrml::invalid_vrml * * @brief Exception thrown when the parser fails due to errors in the VRML --- 4735,4739 ---- /** ! * @class openvrml::invalid_vrml openvrml/browser.h * * @brief Exception thrown when the parser fails due to errors in the VRML *************** *** 4779,4783 **** /** ! * @class openvrml::viewer_in_use * * @brief Exception thrown when attempting to associate a @c viewer --- 4785,4789 ---- /** ! * @class openvrml::viewer_in_use openvrml/browser.h * * @brief Exception thrown when attempting to associate a @c viewer *************** *** 4801,4805 **** /** ! * @class openvrml::browser_event * * @brief A <code>browser</code>-wide event. --- 4807,4811 ---- /** ! * @class openvrml::browser_event openvrml/browser.h * * @brief A <code>browser</code>-wide event. *************** *** 4885,4889 **** /** ! * @class openvrml::browser_listener * * @brief This class should be inherited by classes that want to listen for --- 4891,4895 ---- /** ! * @class openvrml::browser_listener openvrml/browser.h * * @brief This class should be inherited by classes that want to listen for *************** *** 4896,4901 **** * @var openvrml::browser_listener::browser * ! * @brief @c browser instances need to call @c ! * browser_listener::browser_changed. */ --- 4902,4906 ---- * @var openvrml::browser_listener::browser * ! * @brief @c browser instances need to call @c #browser_changed. */ *************** *** 4911,4916 **** * @brief Send a @c browser_event. * ! * This function delegates to ! * @c browser_listener::do_browser_changed. * * @param[in] event the @c browser_event to send. --- 4916,4920 ---- * @brief Send a @c browser_event. * ! * This function delegates to @c #do_browser_changed. * * @param[in] event the @c browser_event to send. *************** *** 4929,4938 **** /** ! * @class openvrml::browser * * @brief Encapsulates a VRML browser. * * @c browser is the foundation of the OpenVRML runtime. Users need to ! * inherit this class and override @c browser::do_get_resource and provide an * implementation of @c resource_istream. */ --- 4933,4942 ---- /** ! * @class openvrml::browser openvrml/browser.h * * @brief Encapsulates a VRML browser. * * @c browser is the foundation of the OpenVRML runtime. Users need to ! * inherit this class and override @c #do_get_resource and provide an * implementation of @c resource_istream. */ *************** *** 4959,4963 **** * @internal * ! * @class openvrml::browser::node_metatype_map * * @brief The map of @c node_metatype%s. --- 4963,4967 ---- * @internal * ! * @class openvrml::browser::node_metatype_map openvrml/browser.h * * @brief The map of @c node_metatype%s. *************** *** 5259,5267 **** * @internal * * @var boost::thread_group openvrml::browser::load_proto_thread_group_ * ! * @brief The threads that load EXTERNPROTO implementations. * ! * These threads @b must be joined by the browser before it is destroyed. */ --- 5263,5282 ---- * @internal * + * @var boost::scoped_ptr<boost::thread> openvrml::browser::load_root_scene_thread_ + * + * @brief The thread that loads the root scene. + * + * This thread is spawned by @c #load_url. It is joined there (in a subsequent + * call to @c #load_url) or when the @c browser is destroyed. + */ + + /** + * @internal + * * @var boost::thread_group openvrml::browser::load_proto_thread_group_ * ! * @brief The threads that load @c EXTERNPROTO implementations. * ! * These threads @b must be joined by the @c browser before it is destroyed. */ *************** *** 5279,5283 **** * @var openvrml::script_node_metatype openvrml::browser::script_node_metatype_ * ! * @brief @c node_metatype for Script nodes in the browser. */ --- 5294,5298 ---- * @var openvrml::script_node_metatype openvrml::browser::script_node_metatype_ * ! * @brief @c node_metatype for Script @c node%s in the @c browser. */ *************** *** 5287,5291 **** * @var openvrml::scene * openvrml::browser::scene_ * ! * @brief Pointer to the root scene. */ --- 5302,5306 ---- * @var openvrml::scene * openvrml::browser::scene_ * ! * @brief Pointer to the root @c scene. */ *************** *** 5295,5300 **** * @var boost::intrusive_ptr<openvrml::node> openvrml::browser::default_viewpoint_ * ! * @brief The “default” @c viewpoint_node used when no @c ! * viewpoint_node in the scene is bound. */ --- 5310,5315 ---- * @var boost::intrusive_ptr<openvrml::node> openvrml::browser::default_viewpoint_ * ! * @brief The “default” @c viewpoint_node used when no ! * @c viewpoint_node in the scene is bound. */ *************** *** 5329,5333 **** * @var std::list<openvrml::viewpoint_node *> openvrml::browser::viewpoint_list * ! * @brief A list of all the Viewpoint nodes in the browser. */ --- 5344,5348 ---- * @var std::list<openvrml::viewpoint_node *> openvrml::browser::viewpoint_list * ! * @brief A list of all the Viewpoint @c node%s in the @c browser. */ *************** *** 5337,5341 **** * @var std::list<openvrml::node *> openvrml::browser::scoped_lights * ! * @brief A list of all the scoped light nodes in the browser. */ --- 5352,5356 ---- * @var std::list<openvrml::node *> openvrml::browser::scoped_lights * ! * @brief A list of all the scoped light @c node%s in the @c browser. */ *************** *** 5345,5349 **** * @var std::list<openvrml::script_node *> openvrml::browser::scripts * ! * @brief A list of all the Script nodes in the browser. */ --- 5360,5364 ---- * @var std::list<openvrml::script_node *> openvrml::browser::scripts * ! * @brief A list of all the Script @c node%s in the @c browser. */ *************** *** 5353,5357 **** * @var std::list<openvrml::time_dependent_node *> openvrml::browser::timers * ! * @brief A list of all the TimeSensor nodes in the browser. */ --- 5368,5372 ---- * @var std::list<openvrml::time_dependent_node *> openvrml::browser::timers * ! * @brief A list of all the TimeSensor @c node%s in the @c browser. */ *************** *** 5361,5366 **** * @var std::set<openvrml::browser_listener *> openvrml::browser::listeners_ * ! * @brief The set of @c browser_listener%s that will receive @c ! * browser_event%s. * * @sa openvrml::browser::add_listener --- 5376,5381 ---- * @var std::set<openvrml::browser_listener *> openvrml::browser::listeners_ * ! * @brief The set of @c browser_listener%s that will receive ! * @c browser_event%s. * * @sa openvrml::browser::add_listener *************** *** 5377,5381 **** * @var boost::mutex openvrml::browser::modified_mutex_ * ! * @brief Mutex protecting @c browser::modified_. */ --- 5392,5396 ---- * @var boost::mutex openvrml::browser::modified_mutex_ * ! * @brief Mutex protecting @c #modified_. */ *************** *** 5430,5434 **** * @var boost::mutex openvrml::browser::out_mutex_ * ! * @brief Mutex guarding @a out_. */ --- 5445,5449 ---- * @var boost::mutex openvrml::browser::out_mutex_ * ! * @brief Mutex guarding @c #out_. */ *************** *** 5442,5446 **** * @var boost::mutex openvrml::browser::err_mutex_ * ! * @brief Mutex guarding @a err_. */ --- 5457,5461 ---- * @var boost::mutex openvrml::browser::err_mutex_ * ! * @brief Mutex guarding @c #err_. */ *************** *** 5455,5463 **** * * @brief Set by @c node::bounding_volume_dirty on any node in this browser graph, ! * cleared by @c update_flags. * ! * @c true if the bvolume dirty flag has been set on a node in the ! * browser graph, but has not yet been propagated to that node's ! * ancestors. */ --- 5470,5478 ---- * * @brief Set by @c node::bounding_volume_dirty on any node in this browser graph, ! * cleared by @c #update_flags. * ! * @c true if the bvolume dirty flag has been set on a @c node in the ! * @c browser graph, but has not yet been propagated to that ! * <code>node</code>'s ancestors. */ *************** *** 5543,5550 **** * the browser, it will be replaced. * ! * @warning If @c std::bad_alloc is thrown here, the <code>browser</code>'s @c ! * node_metatype map is left in an unknown state. In all likelihood ! * any preexisting entry in the map with the same implementation ! * identifier as @p id will have been removed. * * @param[in] id a @c node_metatype identifier. --- 5558,5565 ---- * the browser, it will be replaced. * ! * @warning If @c std::bad_alloc is thrown here, the <code>browser</code>'s ! * @c node_metatype map is left in an unknown state. In all ! * likelihood any preexisting entry in the map with the same ! * implementation identifier as @p id will have been removed. * * @param[in] id a @c node_metatype identifier. *************** *** 5762,5770 **** /** ! * @brief Get the list of @link viewpoint_node viewpoint_nodes@endlink for the ! * world. * ! * @return the list of @link viewpoint_node viewpoint_nodes@endlink for the ! * world. */ const std::list<openvrml::viewpoint_node *> & --- 5777,5783 ---- /** ! * @brief Get the list of @c viewpoint_node%s for the world. * ! * @return the list of @c viewpoint_node%s for the world. */ const std::list<openvrml::viewpoint_node *> & *************** *** 5822,5831 **** * @brief Fetch a network resource. * ! * Called by @c browser::get_resource, clients of OpenVRML are required to ! * provide an implementation for this function. OpenVRML depends on the ! * implementation of this function for all of its input needs. As such, what ! * kind of resources OpenVRML is capable of resolving is entirely dependent on ! * code provided by the application. A trivial implementation designed to ! * handle only @c file resources can use @c std::filebuf: * * @code --- 5835,5844 ---- * @brief Fetch a network resource. * ! * Called by @c #get_resource, clients of OpenVRML are required to provide an ! * implementation for this function. OpenVRML depends on the implementation ! * of this function for all of its input needs. As such, what kind of ! * resources OpenVRML is capable of resolving is entirely dependent on code ! * provided by the application. A trivial implementation designed to handle ! * only @c file resources can use @c std::filebuf: * * @co... [truncated message content] |
From: Braden M. <br...@us...> - 2007-03-06 07:23:16
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml-gl/openvrml/gl In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12193/src/libopenvrml-gl/openvrml/gl Modified Files: Tag: OpenVRML-0_16-BRANCH viewer.cpp Log Message: Doc-comment improvements. Index: viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml-gl/openvrml/gl/viewer.cpp,v retrieving revision 1.43.2.12 retrieving revision 1.43.2.13 diff -C2 -d -r1.43.2.12 -r1.43.2.13 *** viewer.cpp 22 Jan 2007 22:58:37 -0000 1.43.2.12 --- viewer.cpp 6 Mar 2007 07:23:13 -0000 1.43.2.13 *************** *** 20,23 **** --- 20,29 ---- // + /** + * @file openvrml/gl/viewer.h + * + * @brief Definition of @c openvrml::gl::viewer. + */ + # ifdef HAVE_CONFIG_H # include <config.h> *************** *** 356,360 **** /** ! * @class openvrml::gl::viewer * * @brief Abstract class for display of VRML models using OpenGL/Mesa. --- 362,366 ---- /** ! * @class openvrml::gl::viewer openvrml/gl/viewer.h * * @brief Abstract class for display of VRML models using OpenGL/Mesa. *************** *** 497,512 **** /** ! * @class openvrml::gl::viewer::modelview_matrix_stack * * @brief Encapsulates an extended modelview matrix stack. * * OpenGL requires that implementations have a modelview matrix stack with a ! * maximum depth of only 32. Regardless of that, the maximum depth can be ! * expected to vary between implementations, and we don't want nesting of * Transform nodes in VRML worlds to be constrained by this limit. * ! * modelview_matrix_stack uses the OpenGL modelview matrix stack until it fills ! * up, at which point any additional matrices that spill over are pushed onto ! * a conventional stack of mat4f. */ --- 503,518 ---- /** ! * @class openvrml::gl::viewer::modelview_matrix_stack openvrml/gl/viewer.h * * @brief Encapsulates an extended modelview matrix stack. * * OpenGL requires that implementations have a modelview matrix stack with a ! * maximum depth of only 32. Regardless of that, the maximum depth can be ! * expected to vary between implementations; and we don't want nesting of * Transform nodes in VRML worlds to be constrained by this limit. * ! * @c modelview_matrix_stack uses the OpenGL modelview matrix stack until it ! * fills up, at which point any additional matrices that spill over are pushed ! * onto a conventional stack of @c mat4f. */ *************** *** 990,1033 **** } - - // - // beginObject/endObject should correspond to grouping nodes. - // Group-level scoping for directional lights, anchors, sensors - // are handled here. Display lists can optionally be created - // (but the retain flag is just a hint, not guaranteed). Retained - // objects can be referred to later to avoid duplicating geometry. - // OpenGL doesn't allow nested objects. The top-down approach of - // putting entire groups in display lists is faster for static - // scenes but uses more memory and means that if anything is changed, - // the whole object must be tossed. - // The bottom-up model wraps each piece of geometry in a dlist but - // requires traversal of the entire scene graph to reference each dlist. - // The decision about what groups to stuff in an object is punted to - // the object itself, as it can decide whether it is mutable. - // - // The OpenGL viewer never puts objects in display lists, so the - // retain hint is ignored. - /** * @brief Begin a display list. * ! * begin_object/end_object should correspond to ! * @link grouping_node grouping_nodes@endlink. ! * Group-level scoping for directional lights, anchors, sensors ! * are handled here. Display lists can optionally be created ! * (but the retain flag is just a hint, not guaranteed). Retained ! * objects can be referred to later to avoid duplicating geometry. ! * OpenGL doesn't allow nested objects. The top-down approach of ! * putting entire groups in display lists is faster for static ! * scenes but uses more memory and means that if anything is changed, ! * the whole object must be tossed. * ! * The bottom-up model wraps each piece of geometry in a dlist but ! * requires traversal of the entire scene graph to reference each dlist. ! * The decision about what groups to stuff in an object is punted to ! * the object itself, as it can decide whether it is mutable. * ! * The OpenGL viewer never puts objects in display lists, so the ! * retain hint is ignored. * * @param[in] id not used. --- 996,1018 ---- } /** * @brief Begin a display list. * ! * @c #begin_object and @c #end_object should correspond to @c ! * grouping_node%s. Group-level scoping for directional lights, anchors, ! * sensors are handled here. Display lists can optionally be created (but the ! * retain flag is just a hint, not guaranteed). Retained objects can be ! * referred to later to avoid duplicating geometry. OpenGL doesn't allow ! * nested objects. The top-down approach of putting entire groups in display ! * lists is faster for static scenes but uses more memory and means that if ! * anything is changed, the whole object must be tossed. * ! * The bottom-up model wraps each piece of geometry in a dlist but requires ! * traversal of the entire scene graph to reference each dlist. The decision ! * about what groups to stuff in an object is punted to the object itself, as ! * it can decide whether it is mutable. * ! * The OpenGL viewer never puts objects in display lists, so the retain hint ! * is ignored. * * @param[in] id not used. *************** *** 2218,2222 **** * @param[in] last the last point in the extrusion spine. * ! * @return the <var>y</var>axis of the spine-aligned cross-section plane * at @p point. */ --- 2203,2207 ---- * @param[in] last the last point in the extrusion spine. * ! * @return the <var>y</var>-axis of the spine-aligned cross-section plane * at @p point. */ |
From: Braden M. <br...@us...> - 2007-03-06 03:26:17
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19310 Modified Files: ChangeLog Log Message: Join the thread spawned by browser::load_url in browser's destructor. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1457 retrieving revision 1.1458 diff -C2 -d -r1.1457 -r1.1458 *** ChangeLog 5 Mar 2007 08:21:20 -0000 1.1457 --- ChangeLog 6 Mar 2007 03:26:15 -0000 1.1458 *************** *** 1,4 **** --- 1,18 ---- 2007-03-05 Braden McDaniel <br...@en...> + Join the thread spawned by browser::load_url in browser's + destructor. + + * src/libopenvrml/openvrml/browser.cpp + (openvrml::browser::~browser()): Join the thread that loads the + root scene. + (openvrml::browser::load_url(const std::vector<std::string> &, + const std::vector<std::string> &)): First, join any thread already + loading a root scene. + * src/libopenvrml/openvrml/browser.h + (openvrml::browser): Added member load_root_scene_thread. + + 2007-03-05 Braden McDaniel <br...@en...> + * mozilla-plugin/configure.ac: Added back mozincludedir substitution, which apparently got stomped on at some point. Its |
From: Braden M. <br...@us...> - 2007-03-06 03:26:16
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19310/src/libopenvrml/openvrml Modified Files: browser.cpp browser.h Log Message: Join the thread spawned by browser::load_url in browser's destructor. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.204 retrieving revision 1.205 diff -C2 -d -r1.204 -r1.205 *** browser.cpp 24 Feb 2007 07:39:11 -0000 1.204 --- browser.cpp 6 Mar 2007 03:26:15 -0000 1.205 *************** *** 5693,5696 **** --- 5693,5697 ---- openvrml::browser::~browser() OPENVRML_NOTHROW { + this->load_root_scene_thread_->join(); this->load_proto_thread_group_.join_all(); *************** *** 6190,6195 **** OPENVRML_THROW2(std::bad_alloc, boost::thread_resource_error) { boost::function0<void> f = root_scene_loader(*this, url); ! boost::thread t(f); } --- 6191,6199 ---- OPENVRML_THROW2(std::bad_alloc, boost::thread_resource_error) { + if (this->load_root_scene_thread_) { + this->load_root_scene_thread_->join(); + } boost::function0<void> f = root_scene_loader(*this, url); ! this->load_root_scene_thread_.reset(new boost::thread(f)); } *************** *** 6261,6264 **** --- 6265,6272 ---- parse_vrml(in, stream_id.str(), type, *this->scene_, nodes, meta); } catch (openvrml::bad_media_type & ex) { + // + // bad_media_type is a std::runtime_error. However, here we're using + // the media type as an argument. + // throw std::invalid_argument(ex.what()); } Index: browser.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.h,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** browser.h 22 Nov 2006 00:05:18 -0000 1.62 --- browser.h 6 Mar 2007 03:26:15 -0000 1.63 *************** *** 234,237 **** --- 234,238 ---- std::auto_ptr<null_node_metatype> null_node_metatype_; std::auto_ptr<null_node_type> null_node_type_; + boost::scoped_ptr<boost::thread> load_root_scene_thread_; boost::thread_group load_proto_thread_group_; node_metatype_map node_metatype_map_; |
From: Braden M. <br...@us...> - 2007-03-06 03:26:05
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18937/src/libopenvrml/openvrml Modified Files: Tag: OpenVRML-0_16-BRANCH browser.cpp browser.h Log Message: Join the thread spawned by browser::load_url in browser's destructor. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.190.2.10 retrieving revision 1.190.2.11 diff -C2 -d -r1.190.2.10 -r1.190.2.11 *** browser.cpp 24 Feb 2007 07:38:58 -0000 1.190.2.10 --- browser.cpp 6 Mar 2007 03:25:59 -0000 1.190.2.11 *************** *** 5523,5526 **** --- 5523,5527 ---- openvrml::browser::~browser() OPENVRML_NOTHROW { + this->load_root_scene_thread_->join(); this->load_proto_thread_group_.join_all(); *************** *** 6155,6160 **** OPENVRML_THROW2(std::bad_alloc, boost::thread_resource_error) { boost::function0<void> f = root_scene_loader(*this, url); ! boost::thread t(f); } --- 6156,6164 ---- OPENVRML_THROW2(std::bad_alloc, boost::thread_resource_error) { + if (this->load_root_scene_thread_) { + this->load_root_scene_thread_->join(); + } boost::function0<void> f = root_scene_loader(*this, url); ! this->load_root_scene_thread_.reset(new boost::thread(f)); } *************** *** 6226,6229 **** --- 6230,6237 ---- parse_vrml(in, stream_id.str(), type, *this->scene_, nodes, meta); } catch (openvrml::bad_media_type & ex) { + // + // bad_media_type is a std::runtime_error. However, here we're using + // the media type as an argument. + // throw std::invalid_argument(ex.what()); } Index: browser.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.h,v retrieving revision 1.61 retrieving revision 1.61.2.1 diff -C2 -d -r1.61 -r1.61.2.1 *** browser.h 28 Jul 2006 07:04:19 -0000 1.61 --- browser.h 6 Mar 2007 03:25:59 -0000 1.61.2.1 *************** *** 221,224 **** --- 221,225 ---- std::auto_ptr<null_node_metatype> null_node_metatype_; std::auto_ptr<null_node_type> null_node_type_; + boost::scoped_ptr<boost::thread> load_root_scene_thread_; boost::thread_group load_proto_thread_group_; node_metatype_map node_metatype_map_; |
From: Braden M. <br...@us...> - 2007-03-06 03:26:00
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18937 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Join the thread spawned by browser::load_url in browser's destructor. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.132 retrieving revision 1.1310.2.133 diff -C2 -d -r1.1310.2.132 -r1.1310.2.133 *** ChangeLog 5 Mar 2007 08:21:07 -0000 1.1310.2.132 --- ChangeLog 6 Mar 2007 03:25:58 -0000 1.1310.2.133 *************** *** 1,4 **** --- 1,18 ---- 2007-03-05 Braden McDaniel <br...@en...> + Join the thread spawned by browser::load_url in browser's + destructor. + + * src/libopenvrml/openvrml/browser.cpp + (openvrml::browser::~browser()): Join the thread that loads the + root scene. + (openvrml::browser::load_url(const std::vector<std::string> &, + const std::vector<std::string> &)): First, join any thread already + loading a root scene. + * src/libopenvrml/openvrml/browser.h + (openvrml::browser): Added member load_root_scene_thread. + + 2007-03-05 Braden McDaniel <br...@en...> + * mozilla-plugin/configure.ac: Added back mozincludedir substitution, which apparently got stomped on at some point. Its |
From: Braden M. <br...@us...> - 2007-03-05 08:21:21
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25547 Modified Files: ChangeLog Log Message: Added back mozincludedir substitution, which apparently got stomped on at some point. Its loss was disguised by mozilla-xpcom.pc adding flags for this directory; but as of firefox 1.5.0.10, mozilla-plugin.pc no longer depends on mozilla-xpcom.pc. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1456 retrieving revision 1.1457 diff -C2 -d -r1.1456 -r1.1457 *** ChangeLog 25 Feb 2007 02:37:13 -0000 1.1456 --- ChangeLog 5 Mar 2007 08:21:20 -0000 1.1457 *************** *** 1,2 **** --- 1,10 ---- + 2007-03-05 Braden McDaniel <br...@en...> + + * mozilla-plugin/configure.ac: Added back mozincludedir + substitution, which apparently got stomped on at some point. Its + loss was disguised by mozilla-xpcom.pc adding flags for this + directory; but as of firefox 1.5.0.10, mozilla-plugin.pc no longer + depends on mozilla-xpcom.pc. + 2007-02-24 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2007-03-05 08:21:21
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25547/mozilla-plugin Modified Files: configure.ac Log Message: Added back mozincludedir substitution, which apparently got stomped on at some point. Its loss was disguised by mozilla-xpcom.pc adding flags for this directory; but as of firefox 1.5.0.10, mozilla-plugin.pc no longer depends on mozilla-xpcom.pc. Index: configure.ac =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/configure.ac,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** configure.ac 30 Dec 2006 23:37:44 -0000 1.20 --- configure.ac 5 Mar 2007 08:21:20 -0000 1.21 *************** *** 2,6 **** AC_INIT([OpenVRML Mozilla Plugin], [0.16.3], [ope...@li...]) ! AC_COPYRIGHT([Portions copyright 2004, 2005, 2006 Braden McDaniel]) AC_CONFIG_FILES([Makefile] [src/Makefile]) --- 2,6 ---- AC_INIT([OpenVRML Mozilla Plugin], [0.16.3], [ope...@li...]) ! AC_COPYRIGHT([Portions copyright 2004, 2005, 2006, 2007 Braden McDaniel]) AC_CONFIG_FILES([Makefile] [src/Makefile]) *************** *** 23,30 **** [mozilla_plugin_pkg=mozilla-plugin], [have_mozilla_plugin=no])]) - mozversion=`$PKG_CONFIG --modversion $mozilla_plugin_pkg` - mozprefix=`$PKG_CONFIG --variable=prefix $mozilla_plugin_pkg` mozlibdir=`$PKG_CONFIG --variable=libdir $mozilla_plugin_pkg` AC_SUBST([mozlibdir]) PKG_CHECK_MODULES([GTK], [gtk+-2.0], , [have_gtk=no]) --- 23,30 ---- [mozilla_plugin_pkg=mozilla-plugin], [have_mozilla_plugin=no])]) mozlibdir=`$PKG_CONFIG --variable=libdir $mozilla_plugin_pkg` AC_SUBST([mozlibdir]) + mozincludedir=`$PKG_CONFIG --variable=includedir $mozilla_plugin_pkg` + AC_SUBST([mozincludedir]) PKG_CHECK_MODULES([GTK], [gtk+-2.0], , [have_gtk=no]) |
From: Braden M. <br...@us...> - 2007-03-05 08:21:08
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25281/mozilla-plugin Modified Files: Tag: OpenVRML-0_16-BRANCH configure.ac Log Message: Added back mozincludedir substitution, which apparently got stomped on at some point. Its loss was disguised by mozilla-xpcom.pc adding flags for this directory; but as of firefox 1.5.0.10, mozilla-plugin.pc no longer depends on mozilla-xpcom.pc. Index: configure.ac =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/configure.ac,v retrieving revision 1.14.2.6 retrieving revision 1.14.2.7 diff -C2 -d -r1.14.2.6 -r1.14.2.7 *** configure.ac 30 Dec 2006 23:37:07 -0000 1.14.2.6 --- configure.ac 5 Mar 2007 08:21:07 -0000 1.14.2.7 *************** *** 2,6 **** AC_INIT([OpenVRML Mozilla Plugin], [0.16.3], [ope...@li...]) ! AC_COPYRIGHT([Portions copyright 2004, 2005, 2006 Braden McDaniel]) AC_CONFIG_FILES([Makefile] [src/Makefile]) --- 2,6 ---- AC_INIT([OpenVRML Mozilla Plugin], [0.16.3], [ope...@li...]) ! AC_COPYRIGHT([Portions copyright 2004, 2005, 2006, 2007 Braden McDaniel]) AC_CONFIG_FILES([Makefile] [src/Makefile]) *************** *** 23,30 **** [mozilla_plugin_pkg=mozilla-plugin], [have_mozilla_plugin=no])]) - mozversion=`$PKG_CONFIG --modversion $mozilla_plugin_pkg` - mozprefix=`$PKG_CONFIG --variable=prefix $mozilla_plugin_pkg` mozlibdir=`$PKG_CONFIG --variable=libdir $mozilla_plugin_pkg` AC_SUBST([mozlibdir]) PKG_CHECK_MODULES([GTK], [gtk+-2.0], , [have_gtk=no]) --- 23,30 ---- [mozilla_plugin_pkg=mozilla-plugin], [have_mozilla_plugin=no])]) mozlibdir=`$PKG_CONFIG --variable=libdir $mozilla_plugin_pkg` AC_SUBST([mozlibdir]) + mozincludedir=`$PKG_CONFIG --variable=includedir $mozilla_plugin_pkg` + AC_SUBST([mozincludedir]) PKG_CHECK_MODULES([GTK], [gtk+-2.0], , [have_gtk=no]) |
From: Braden M. <br...@us...> - 2007-03-05 08:21:08
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25281 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Added back mozincludedir substitution, which apparently got stomped on at some point. Its loss was disguised by mozilla-xpcom.pc adding flags for this directory; but as of firefox 1.5.0.10, mozilla-plugin.pc no longer depends on mozilla-xpcom.pc. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.131 retrieving revision 1.1310.2.132 diff -C2 -d -r1.1310.2.131 -r1.1310.2.132 *** ChangeLog 25 Feb 2007 02:36:59 -0000 1.1310.2.131 --- ChangeLog 5 Mar 2007 08:21:07 -0000 1.1310.2.132 *************** *** 1,2 **** --- 1,10 ---- + 2007-03-05 Braden McDaniel <br...@en...> + + * mozilla-plugin/configure.ac: Added back mozincludedir + substitution, which apparently got stomped on at some point. Its + loss was disguised by mozilla-xpcom.pc adding flags for this + directory; but as of firefox 1.5.0.10, mozilla-plugin.pc no longer + depends on mozilla-xpcom.pc. + 2007-02-24 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2007-02-25 02:37:24
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26459/src/libopenvrml/openvrml Modified Files: vrml97node.cpp Log Message: Fixed problem reading JPEG images when input is suspended. Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.121 retrieving revision 1.122 diff -C2 -d -r1.121 -r1.122 *** vrml97node.cpp 13 Feb 2007 08:57:03 -0000 1.121 --- vrml97node.cpp 25 Feb 2007 02:37:13 -0000 1.122 *************** *** 6830,6840 **** public: image_stream_listener & stream_listener; ! enum read_state_t { ! reading_back = 0, ! reading_new ! } read_state; ! size_t bytes_to_skip; ! size_t backtrack_buffer_bytes_unread; std::vector<JOCTET> buffer, backtrack_buffer; enum decoder_state_t { header, --- 6830,6839 ---- public: image_stream_listener & stream_listener; ! bool reading; ! std::vector<JOCTET>::size_type bytes_to_skip; ! std::vector<JOCTET>::size_type backtrack_buffer_bytes_unread; std::vector<JOCTET> buffer, backtrack_buffer; + std::vector<JOCTET>::size_type bytes_in_buffer, + bytes_in_backtrack_buffer; enum decoder_state_t { header, *************** *** 7096,7166 **** boolean openvrml_jpeg_fill_input_buffer(j_decompress_ptr cinfo) { typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *reinterpret_cast<source_mgr_t *>(cinfo->src); jpeg_source_mgr & source_mgr = src.pub; image_stream_listener::jpeg_reader & reader = *src.reader; ! switch (reader.read_state) { ! case image_stream_listener::jpeg_reader::reading_back: ! if (reader.buffer.empty()) { ! return false; // Suspend. ! } ! if (reader.bytes_to_skip > reader.buffer.size()) { ! reader.bytes_to_skip -= reader.buffer.size(); ! reader.buffer.clear(); ! return false; // Suspend. } reader.backtrack_buffer_bytes_unread = source_mgr.bytes_in_buffer; - { - std::vector<JOCTET>::iterator pos = reader.buffer.begin(); - advance(pos, reader.bytes_to_skip); - source_mgr.next_input_byte = &*pos; - } - source_mgr.bytes_in_buffer -= reader.bytes_to_skip; - reader.bytes_to_skip = 0; - reader.read_state = - image_stream_listener::jpeg_reader::reading_new; return true; ! case image_stream_listener::jpeg_reader::reading_new: ! if (source_mgr.next_input_byte != (reader.buffer.empty() ! ? 0 : &reader.buffer[0])) { ! reader.backtrack_buffer_bytes_unread = 0; ! reader.backtrack_buffer.resize(0); ! } ! { ! const size_t old_backtrack_buffer_size = ! reader.backtrack_buffer.size(); ! reader.backtrack_buffer.resize(source_mgr.bytes_in_buffer ! + old_backtrack_buffer_size); ! copy(source_mgr.next_input_byte, ! source_mgr.next_input_byte + source_mgr.bytes_in_buffer, ! reader.backtrack_buffer.begin() ! + old_backtrack_buffer_size); ! source_mgr.next_input_byte = ! &*(reader.backtrack_buffer.begin() ! + old_backtrack_buffer_size ! - reader.backtrack_buffer_bytes_unread); ! } ! source_mgr.bytes_in_buffer += reader.backtrack_buffer_bytes_unread; ! reader.read_state = ! image_stream_listener::jpeg_reader::reading_back; ! } return false; } ! void openvrml_jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) { typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *reinterpret_cast<source_mgr_t *>(cinfo->src); jpeg_source_mgr & source_mgr = src.pub; --- 7095,7167 ---- boolean openvrml_jpeg_fill_input_buffer(j_decompress_ptr cinfo) { + using std::vector; typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *static_cast<source_mgr_t *>(static_cast<void *>(cinfo->src)); jpeg_source_mgr & source_mgr = src.pub; image_stream_listener::jpeg_reader & reader = *src.reader; ! if (reader.reading) { ! if (reader.buffer.empty()) { return false; /* Suspend. */ } ! ! vector<JOCTET>::const_iterator resume_pos = reader.buffer.begin(); ! ! vector<JOCTET>::size_type bytes_now_in_buffer = ! reader.bytes_in_buffer; ! reader.bytes_in_buffer = 0; ! ! if (reader.bytes_to_skip > 0) { ! if (reader.bytes_to_skip < bytes_now_in_buffer) { ! resume_pos += reader.bytes_to_skip; ! bytes_now_in_buffer -= reader.bytes_to_skip; ! reader.bytes_to_skip = 0; ! } else { ! reader.bytes_to_skip -= bytes_now_in_buffer; ! return false; // Suspend; we'll need to skip some more. ! } } reader.backtrack_buffer_bytes_unread = source_mgr.bytes_in_buffer; + source_mgr.next_input_byte = &*resume_pos; + source_mgr.bytes_in_buffer = bytes_now_in_buffer; + reader.reading = false; return true; + } ! if (reader.buffer.empty() ! || source_mgr.next_input_byte != &reader.buffer.front()) { ! reader.bytes_in_backtrack_buffer = 0; ! reader.backtrack_buffer_bytes_unread = 0; ! } ! const vector<JOCTET>::size_type bytes_now_in_backtrack_buffer = ! source_mgr.bytes_in_buffer + reader.bytes_in_backtrack_buffer; ! reader.backtrack_buffer.resize(bytes_now_in_backtrack_buffer); ! reader.backtrack_buffer.resize(bytes_now_in_backtrack_buffer); ! std::copy(source_mgr.next_input_byte, ! source_mgr.next_input_byte + source_mgr.bytes_in_buffer, ! reader.backtrack_buffer.begin() ! + reader.bytes_in_backtrack_buffer); ! ! source_mgr.next_input_byte = &*(reader.backtrack_buffer.begin() ! + reader.bytes_in_backtrack_buffer ! - reader.backtrack_buffer_bytes_unread); ! source_mgr.bytes_in_buffer += reader.backtrack_buffer_bytes_unread; ! reader.bytes_in_backtrack_buffer = bytes_now_in_backtrack_buffer; ! reader.reading = true; return false; } ! void openvrml_jpeg_skip_input_data(const j_decompress_ptr cinfo, ! const long num_bytes) { typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *static_cast<source_mgr_t *>(static_cast<void *>(cinfo->src)); jpeg_source_mgr & source_mgr = src.pub; *************** *** 7183,7187 **** { typedef image_stream_listener::jpeg_reader::error_mgr error_mgr; ! error_mgr * const err = reinterpret_cast<error_mgr *>(cinfo->err); (*cinfo->err->output_message)(cinfo); longjmp(err->jmpbuf, 1); --- 7184,7189 ---- { typedef image_stream_listener::jpeg_reader::error_mgr error_mgr; ! error_mgr * const err = ! static_cast<error_mgr *>(static_cast<void *>(cinfo->err)); (*cinfo->err->output_message)(cinfo); longjmp(err->jmpbuf, 1); *************** *** 7205,7217 **** jpeg_reader(image_stream_listener & stream_listener): stream_listener(stream_listener), ! read_state(reading_back), bytes_to_skip(0), backtrack_buffer_bytes_unread(0), decoder_state(header), scanlines(0), progressive_scan_started(false) { ! //std::memset(&this->cinfo, 0, sizeof this->cinfo_); ! //std::memset(&this->source_mgr_, 0, sizeof this->source_mgr_); this->cinfo_.err = jpeg_std_error(&this->error_mgr_.pub); --- 7207,7221 ---- jpeg_reader(image_stream_listener & stream_listener): stream_listener(stream_listener), ! reading(true), bytes_to_skip(0), backtrack_buffer_bytes_unread(0), + bytes_in_buffer(0), + bytes_in_backtrack_buffer(0), decoder_state(header), scanlines(0), progressive_scan_started(false) { ! std::memset(&this->cinfo_, 0, sizeof this->cinfo_); ! std::memset(&this->source_mgr_, 0, sizeof this->source_mgr_); this->cinfo_.err = jpeg_std_error(&this->error_mgr_.pub); *************** *** 7233,7237 **** this->cinfo_.src = ! reinterpret_cast<jpeg_source_mgr *>(&this->source_mgr_); } --- 7237,7242 ---- this->cinfo_.src = ! static_cast<jpeg_source_mgr *>( ! static_cast<void *>(&this->source_mgr_)); } *************** *** 7252,7255 **** --- 7257,7261 ---- } copy(data.begin(), data.end(), this->buffer.begin()); + this->bytes_in_buffer = data.size(); int jmpval = setjmp(this->error_mgr_.jmpbuf); |
From: Braden M. <br...@us...> - 2007-02-25 02:37:24
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26459 Modified Files: ChangeLog Log Message: Fixed problem reading JPEG images when input is suspended. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1455 retrieving revision 1.1456 diff -C2 -d -r1.1455 -r1.1456 *** ChangeLog 24 Feb 2007 07:39:11 -0000 1.1455 --- ChangeLog 25 Feb 2007 02:37:13 -0000 1.1456 *************** *** 1,4 **** --- 1,17 ---- 2007-02-24 Braden McDaniel <br...@en...> + Fixed problem reading JPEG images when input is suspended. + + * src/libopenvrml/openvrml/vrml97node.cpp + (jpeg_reader): Replaced read_state enumeration with a bool--there + are only two possible states. Added members bytes_in_buffer and + bytes_in_backtrack_buffer to track the number of unread bytes in + the respective buffers. + (openvrml_jpeg_fill_input_buffer(j_decompress_ptr)): Reimplemented + in terms of the boolean "reading" state; fixed reading from the + backtrack buffer for I/O suspension. + + 2007-02-24 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/browser.cpp (create_file_url(const uri &)): If the relative URI begins with |
From: Braden M. <br...@us...> - 2007-02-25 02:37:06
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26102/src/libopenvrml/openvrml Modified Files: Tag: OpenVRML-0_16-BRANCH vrml97node.cpp Log Message: Fixed problem reading JPEG images when input is suspended. Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.108.2.9 retrieving revision 1.108.2.10 diff -C2 -d -r1.108.2.9 -r1.108.2.10 *** vrml97node.cpp 13 Feb 2007 08:56:40 -0000 1.108.2.9 --- vrml97node.cpp 25 Feb 2007 02:37:00 -0000 1.108.2.10 *************** *** 6830,6840 **** public: image_stream_listener & stream_listener; ! enum read_state_t { ! reading_back = 0, ! reading_new ! } read_state; ! size_t bytes_to_skip; ! size_t backtrack_buffer_bytes_unread; std::vector<JOCTET> buffer, backtrack_buffer; enum decoder_state_t { header, --- 6830,6839 ---- public: image_stream_listener & stream_listener; ! bool reading; ! std::vector<JOCTET>::size_type bytes_to_skip; ! std::vector<JOCTET>::size_type backtrack_buffer_bytes_unread; std::vector<JOCTET> buffer, backtrack_buffer; + std::vector<JOCTET>::size_type bytes_in_buffer, + bytes_in_backtrack_buffer; enum decoder_state_t { header, *************** *** 7096,7166 **** boolean openvrml_jpeg_fill_input_buffer(j_decompress_ptr cinfo) { typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *reinterpret_cast<source_mgr_t *>(cinfo->src); jpeg_source_mgr & source_mgr = src.pub; image_stream_listener::jpeg_reader & reader = *src.reader; ! switch (reader.read_state) { ! case image_stream_listener::jpeg_reader::reading_back: ! if (reader.buffer.empty()) { ! return false; // Suspend. ! } ! if (reader.bytes_to_skip > reader.buffer.size()) { ! reader.bytes_to_skip -= reader.buffer.size(); ! reader.buffer.clear(); ! return false; // Suspend. } reader.backtrack_buffer_bytes_unread = source_mgr.bytes_in_buffer; - { - std::vector<JOCTET>::iterator pos = reader.buffer.begin(); - advance(pos, reader.bytes_to_skip); - source_mgr.next_input_byte = &*pos; - } - source_mgr.bytes_in_buffer -= reader.bytes_to_skip; - reader.bytes_to_skip = 0; - reader.read_state = - image_stream_listener::jpeg_reader::reading_new; return true; ! case image_stream_listener::jpeg_reader::reading_new: ! if (source_mgr.next_input_byte != (reader.buffer.empty() ! ? 0 : &reader.buffer[0])) { ! reader.backtrack_buffer_bytes_unread = 0; ! reader.backtrack_buffer.resize(0); ! } ! { ! const size_t old_backtrack_buffer_size = ! reader.backtrack_buffer.size(); ! reader.backtrack_buffer.resize(source_mgr.bytes_in_buffer ! + old_backtrack_buffer_size); ! copy(source_mgr.next_input_byte, ! source_mgr.next_input_byte + source_mgr.bytes_in_buffer, ! reader.backtrack_buffer.begin() ! + old_backtrack_buffer_size); ! source_mgr.next_input_byte = ! &*(reader.backtrack_buffer.begin() ! + old_backtrack_buffer_size ! - reader.backtrack_buffer_bytes_unread); ! } ! source_mgr.bytes_in_buffer += reader.backtrack_buffer_bytes_unread; ! reader.read_state = ! image_stream_listener::jpeg_reader::reading_back; ! } return false; } ! void openvrml_jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) { typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *reinterpret_cast<source_mgr_t *>(cinfo->src); jpeg_source_mgr & source_mgr = src.pub; --- 7095,7167 ---- boolean openvrml_jpeg_fill_input_buffer(j_decompress_ptr cinfo) { + using std::vector; typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *static_cast<source_mgr_t *>(static_cast<void *>(cinfo->src)); jpeg_source_mgr & source_mgr = src.pub; image_stream_listener::jpeg_reader & reader = *src.reader; ! if (reader.reading) { ! if (reader.buffer.empty()) { return false; /* Suspend. */ } ! ! vector<JOCTET>::const_iterator resume_pos = reader.buffer.begin(); ! ! vector<JOCTET>::size_type bytes_now_in_buffer = ! reader.bytes_in_buffer; ! reader.bytes_in_buffer = 0; ! ! if (reader.bytes_to_skip > 0) { ! if (reader.bytes_to_skip < bytes_now_in_buffer) { ! resume_pos += reader.bytes_to_skip; ! bytes_now_in_buffer -= reader.bytes_to_skip; ! reader.bytes_to_skip = 0; ! } else { ! reader.bytes_to_skip -= bytes_now_in_buffer; ! return false; // Suspend; we'll need to skip some more. ! } } reader.backtrack_buffer_bytes_unread = source_mgr.bytes_in_buffer; + source_mgr.next_input_byte = &*resume_pos; + source_mgr.bytes_in_buffer = bytes_now_in_buffer; + reader.reading = false; return true; + } ! if (reader.buffer.empty() ! || source_mgr.next_input_byte != &reader.buffer.front()) { ! reader.bytes_in_backtrack_buffer = 0; ! reader.backtrack_buffer_bytes_unread = 0; ! } ! const vector<JOCTET>::size_type bytes_now_in_backtrack_buffer = ! source_mgr.bytes_in_buffer + reader.bytes_in_backtrack_buffer; ! reader.backtrack_buffer.resize(bytes_now_in_backtrack_buffer); ! reader.backtrack_buffer.resize(bytes_now_in_backtrack_buffer); ! std::copy(source_mgr.next_input_byte, ! source_mgr.next_input_byte + source_mgr.bytes_in_buffer, ! reader.backtrack_buffer.begin() ! + reader.bytes_in_backtrack_buffer); ! ! source_mgr.next_input_byte = &*(reader.backtrack_buffer.begin() ! + reader.bytes_in_backtrack_buffer ! - reader.backtrack_buffer_bytes_unread); ! source_mgr.bytes_in_buffer += reader.backtrack_buffer_bytes_unread; ! reader.bytes_in_backtrack_buffer = bytes_now_in_backtrack_buffer; ! reader.reading = true; return false; } ! void openvrml_jpeg_skip_input_data(const j_decompress_ptr cinfo, ! const long num_bytes) { typedef image_stream_listener::jpeg_reader::source_mgr source_mgr_t; source_mgr_t & src = ! *static_cast<source_mgr_t *>(static_cast<void *>(cinfo->src)); jpeg_source_mgr & source_mgr = src.pub; *************** *** 7183,7187 **** { typedef image_stream_listener::jpeg_reader::error_mgr error_mgr; ! error_mgr * const err = reinterpret_cast<error_mgr *>(cinfo->err); (*cinfo->err->output_message)(cinfo); longjmp(err->jmpbuf, 1); --- 7184,7189 ---- { typedef image_stream_listener::jpeg_reader::error_mgr error_mgr; ! error_mgr * const err = ! static_cast<error_mgr *>(static_cast<void *>(cinfo->err)); (*cinfo->err->output_message)(cinfo); longjmp(err->jmpbuf, 1); *************** *** 7205,7217 **** jpeg_reader(image_stream_listener & stream_listener): stream_listener(stream_listener), ! read_state(reading_back), bytes_to_skip(0), backtrack_buffer_bytes_unread(0), decoder_state(header), scanlines(0), progressive_scan_started(false) { ! //std::memset(&this->cinfo, 0, sizeof this->cinfo_); ! //std::memset(&this->source_mgr_, 0, sizeof this->source_mgr_); this->cinfo_.err = jpeg_std_error(&this->error_mgr_.pub); --- 7207,7221 ---- jpeg_reader(image_stream_listener & stream_listener): stream_listener(stream_listener), ! reading(true), bytes_to_skip(0), backtrack_buffer_bytes_unread(0), + bytes_in_buffer(0), + bytes_in_backtrack_buffer(0), decoder_state(header), scanlines(0), progressive_scan_started(false) { ! std::memset(&this->cinfo_, 0, sizeof this->cinfo_); ! std::memset(&this->source_mgr_, 0, sizeof this->source_mgr_); this->cinfo_.err = jpeg_std_error(&this->error_mgr_.pub); *************** *** 7233,7237 **** this->cinfo_.src = ! reinterpret_cast<jpeg_source_mgr *>(&this->source_mgr_); } --- 7237,7242 ---- this->cinfo_.src = ! static_cast<jpeg_source_mgr *>( ! static_cast<void *>(&this->source_mgr_)); } *************** *** 7252,7255 **** --- 7257,7261 ---- } copy(data.begin(), data.end(), this->buffer.begin()); + this->bytes_in_buffer = data.size(); int jmpval = setjmp(this->error_mgr_.jmpbuf); |
From: Braden M. <br...@us...> - 2007-02-25 02:37:06
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26102 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Fixed problem reading JPEG images when input is suspended. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.130 retrieving revision 1.1310.2.131 diff -C2 -d -r1.1310.2.130 -r1.1310.2.131 *** ChangeLog 24 Feb 2007 07:38:57 -0000 1.1310.2.130 --- ChangeLog 25 Feb 2007 02:36:59 -0000 1.1310.2.131 *************** *** 1,4 **** --- 1,17 ---- 2007-02-24 Braden McDaniel <br...@en...> + Fixed problem reading JPEG images when input is suspended. + + * src/libopenvrml/openvrml/vrml97node.cpp + (jpeg_reader): Replaced read_state enumeration with a bool--there + are only two possible states. Added members bytes_in_buffer and + bytes_in_backtrack_buffer to track the number of unread bytes in + the respective buffers. + (openvrml_jpeg_fill_input_buffer(j_decompress_ptr)): Reimplemented + in terms of the boolean "reading" state; fixed reading from the + backtrack buffer for I/O suspension. + + 2007-02-24 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/browser.cpp (create_file_url(const uri &)): If the relative URI begins with |
From: Braden M. <br...@us...> - 2007-02-24 07:39:13
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31667 Modified Files: ChangeLog Log Message: If the relative URI begins with "/", it is a relative URI that consists of an absolute path; prepend "file://" and return. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1454 retrieving revision 1.1455 diff -C2 -d -r1.1454 -r1.1455 *** ChangeLog 13 Feb 2007 08:57:02 -0000 1.1454 --- ChangeLog 24 Feb 2007 07:39:11 -0000 1.1455 *************** *** 1,2 **** --- 1,9 ---- + 2007-02-24 Braden McDaniel <br...@en...> + + * src/libopenvrml/openvrml/browser.cpp + (create_file_url(const uri &)): If the relative URI begins with + "/", it is a relative URI that consists of an absolute path; + prepend "file://" and return. + 2007-02-13 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2007-02-24 07:39:13
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31667/src/libopenvrml/openvrml Modified Files: browser.cpp Log Message: If the relative URI begins with "/", it is a relative URI that consists of an absolute path; prepend "file://" and return. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.203 retrieving revision 1.204 diff -C2 -d -r1.203 -r1.204 *** browser.cpp 3 Feb 2007 08:22:39 -0000 1.203 --- browser.cpp 24 Feb 2007 07:39:11 -0000 1.204 *************** *** 3542,3545 **** --- 3542,3552 ---- base_uri << "file://"; + const string relative_path = relative_uri.path(); + + if (!relative_path.empty() && relative_path[0] == '/') { + base_uri << relative_path; + return uri(base_uri.str()); + } + # ifdef _WIN32 std::vector<char> cwd_buf(_MAX_PATH); *************** *** 7258,7262 **** : test_uri .resolve_against(uri(this->url())); - try { in = this->browser().fetcher_.get_resource(absolute_uri); --- 7265,7268 ---- |
From: Braden M. <br...@us...> - 2007-02-24 07:39:06
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31410/src/libopenvrml/openvrml Modified Files: Tag: OpenVRML-0_16-BRANCH browser.cpp Log Message: If the relative URI begins with "/", it is a relative URI that consists of an absolute path; prepend "file://" and return. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.190.2.9 retrieving revision 1.190.2.10 diff -C2 -d -r1.190.2.9 -r1.190.2.10 *** browser.cpp 3 Feb 2007 08:22:24 -0000 1.190.2.9 --- browser.cpp 24 Feb 2007 07:38:58 -0000 1.190.2.10 *************** *** 3539,3542 **** --- 3539,3549 ---- base_uri << "file://"; + const string relative_path = relative_uri.path(); + + if (!relative_path.empty() && relative_path[0] == '/') { + base_uri << relative_path; + return uri(base_uri.str()); + } + # ifdef _WIN32 std::vector<char> cwd_buf(_MAX_PATH); *************** *** 7220,7224 **** : test_uri .resolve_against(uri(this->url())); - try { in = this->browser().get_resource(absolute_uri); --- 7227,7230 ---- |
From: Braden M. <br...@us...> - 2007-02-24 07:39:06
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31410 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: If the relative URI begins with "/", it is a relative URI that consists of an absolute path; prepend "file://" and return. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.129 retrieving revision 1.1310.2.130 diff -C2 -d -r1.1310.2.129 -r1.1310.2.130 *** ChangeLog 13 Feb 2007 08:56:40 -0000 1.1310.2.129 --- ChangeLog 24 Feb 2007 07:38:57 -0000 1.1310.2.130 *************** *** 1,2 **** --- 1,9 ---- + 2007-02-24 Braden McDaniel <br...@en...> + + * src/libopenvrml/openvrml/browser.cpp + (create_file_url(const uri &)): If the relative URI begins with + "/", it is a relative URI that consists of an absolute path; + prepend "file://" and return. + 2007-02-13 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2007-02-23 06:21:38
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7936 Modified Files: Tag: OpenVRML-0_16-BRANCH configure-gcc-dbg Log Message: Added definitions for libstdc++ debugging machinery. Index: configure-gcc-dbg =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure-gcc-dbg,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -C2 -d -r1.1.2.5 -r1.1.2.6 *** configure-gcc-dbg 10 Dec 2006 07:38:04 -0000 1.1.2.5 --- configure-gcc-dbg 23 Feb 2007 06:21:37 -0000 1.1.2.6 *************** *** 1,3 **** #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --enable-gtk-doc CXXFLAGS='-g3 -O0 -Wall -Wextra -Wno-missing-braces -Wno-missing-field-initializers -Wno-attributes' "$*" --- 1,3 ---- #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --enable-gtk-doc CPPFLAGS='-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC' CXXFLAGS='-g3 -O0 -Wall -Wextra -Wno-missing-braces -Wno-missing-field-initializers -Wno-attributes' "$*" |
From: Braden M. <br...@us...> - 2007-02-23 06:19:27
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7145 Modified Files: configure-gcc-dbg Log Message: Added definitions for libstdc++ debugging machinery. Index: configure-gcc-dbg =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure-gcc-dbg,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** configure-gcc-dbg 10 Dec 2006 07:38:14 -0000 1.6 --- configure-gcc-dbg 23 Feb 2007 06:19:26 -0000 1.7 *************** *** 1,3 **** #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --enable-gtk-doc CXXFLAGS='-g3 -O0 -Wall -Wextra -Wno-missing-braces -Wno-missing-field-initializers -Wno-attributes' "$*" --- 1,3 ---- #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --enable-gtk-doc CPPFLAGS='-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC' CXXFLAGS='-g3 -O0 -Wall -Wextra -Wno-missing-braces -Wno-missing-field-initializers -Wno-attributes' "$*" |
From: Braden M. <br...@us...> - 2007-02-13 08:57:34
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12768 Modified Files: ChangeLog Log Message: Define the scoped_lock before the call to setjmp; otherwise, a longjmp call from libjpeg code will prevent the destructor from running (and freeing the mutex). Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1453 retrieving revision 1.1454 diff -C2 -d -r1.1453 -r1.1454 *** ChangeLog 12 Feb 2007 21:55:11 -0000 1.1453 --- ChangeLog 13 Feb 2007 08:57:02 -0000 1.1454 *************** *** 1,2 **** --- 1,10 ---- + 2007-02-13 Braden McDaniel <br...@en...> + + * src/libopenvrml/openvrml/vrml97node.cpp + (image_stream_listener::jpeg_reader::do_read(const + std::vector<unsigned char> &)): Define the scoped_lock before the + call to setjmp; otherwise, a longjmp call from libjpeg code will + prevent the destructor from running (and freeing the mutex). + 2007-02-12 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2007-02-13 08:57:07
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12768/src/libopenvrml/openvrml Modified Files: vrml97node.cpp Log Message: Define the scoped_lock before the call to setjmp; otherwise, a longjmp call from libjpeg code will prevent the destructor from running (and freeing the mutex). Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.120 retrieving revision 1.121 diff -C2 -d -r1.120 -r1.121 *** vrml97node.cpp 22 Jan 2007 21:10:09 -0000 1.120 --- vrml97node.cpp 13 Feb 2007 08:57:03 -0000 1.121 *************** *** 7245,7248 **** --- 7245,7251 ---- do_read(const std::vector<unsigned char> & data) { + boost::recursive_mutex::scoped_lock + lock(this->stream_listener.node_mutex_); + if (data.size() > this->buffer.size()) { this->buffer.resize(data.size()); *************** *** 7256,7262 **** case jpeg_reader::header: { - boost::recursive_mutex::scoped_lock - lock(this->stream_listener.node_mutex_); - static const bool require_image = true; const int read_header_result = jpeg_read_header(&this->cinfo_, --- 7259,7262 ---- |