You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(128) |
Dec
(65) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(48) |
Feb
(132) |
Mar
(95) |
Apr
(47) |
May
(54) |
Jun
(2) |
Jul
(57) |
Aug
(109) |
Sep
(131) |
Oct
(186) |
Nov
(105) |
Dec
(78) |
2007 |
Jan
(125) |
Feb
(105) |
Mar
(52) |
Apr
(104) |
May
(63) |
Jun
(116) |
Jul
(76) |
Aug
|
Sep
(18) |
Oct
(93) |
Nov
(110) |
Dec
(169) |
2008 |
Jan
(90) |
Feb
(64) |
Mar
(41) |
Apr
(23) |
May
(6) |
Jun
(18) |
Jul
(10) |
Aug
(61) |
Sep
(139) |
Oct
(50) |
Nov
(55) |
Dec
(2) |
2009 |
Jan
|
Feb
(1) |
Mar
(62) |
Apr
(22) |
May
(17) |
Jun
(19) |
Jul
(40) |
Aug
(21) |
Sep
|
Oct
(40) |
Nov
(23) |
Dec
|
2010 |
Jan
(14) |
Feb
(40) |
Mar
(9) |
Apr
(11) |
May
(19) |
Jun
(4) |
Jul
(10) |
Aug
(22) |
Sep
(15) |
Oct
|
Nov
(2) |
Dec
|
2011 |
Jan
(13) |
Feb
(10) |
Mar
|
Apr
(13) |
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(33) |
May
(20) |
Jun
|
Jul
(8) |
Aug
(7) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Braden M. <br...@us...> - 2006-08-06 06:45:26
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16529/src/libopenvrml/openvrml Modified Files: browser.cpp node.cpp script.cpp Log Message: Doc-comment improvements. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.188 retrieving revision 1.189 diff -C2 -d -r1.188 -r1.189 *** browser.cpp 6 Aug 2006 03:37:19 -0000 1.188 --- browser.cpp 6 Aug 2006 06:45:24 -0000 1.189 *************** *** 5606,5610 **** * @return @c true if @p lhs and @p rhs are equal, @c false otherwise. */ ! bool openvrml::operator==(const node_metatype_id & lhs, const node_metatype_id & rhs) OPENVRML_NOTHROW { --- 5606,5611 ---- * @return @c true if @p lhs and @p rhs are equal, @c false otherwise. */ ! bool openvrml::operator==(const node_metatype_id & lhs, ! const node_metatype_id & rhs) OPENVRML_NOTHROW { *************** *** 5620,5624 **** * @return @c true if @p lhs and @p rhs are not equal, @c false otherwise. */ ! bool openvrml::operator!=(const node_metatype_id & lhs, const node_metatype_id & rhs) OPENVRML_NOTHROW { --- 5621,5626 ---- * @return @c true if @p lhs and @p rhs are not equal, @c false otherwise. */ ! bool openvrml::operator!=(const node_metatype_id & lhs, ! const node_metatype_id & rhs) OPENVRML_NOTHROW { *************** *** 5725,5729 **** node_metatype_equals_(entry->second)); assert(entry->second.use_count() == count ! && "shared_ptr<node_metatype> use_count does not match the number of entries in the browser's node_metatype_map"); } # endif --- 5727,5732 ---- node_metatype_equals_(entry->second)); assert(entry->second.use_count() == count ! && "shared_ptr<node_metatype> use_count does not match the " ! "number of entries in the browser's node_metatype_map"); } # endif *************** *** 5786,5790 **** void openvrml::browser::node_metatype_map::init(viewpoint_node * initial_viewpoint, ! const double timestamp) { boost::mutex::scoped_lock lock(this->mutex_); --- 5789,5793 ---- void openvrml::browser::node_metatype_map::init(viewpoint_node * initial_viewpoint, ! const double timestamp) { boost::mutex::scoped_lock lock(this->mutex_); Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** node.cpp 6 Aug 2006 03:37:19 -0000 1.87 --- node.cpp 6 Aug 2006 06:45:24 -0000 1.88 *************** *** 1676,1680 **** * @brief Destructor. * ! * Remove node name (if any) from the scope. */ openvrml::node::~node() OPENVRML_NOTHROW --- 1676,1680 ---- * @brief Destructor. * ! * Remove node name (if any) from the @c scope. */ [...1153 lines suppressed...] void openvrml::node_traverser::on_entering(node &) *************** *** 4766,4773 **** /** ! * @brief Called for each <code>node</code> in the traversal <em>after</em> ! * traversing the its descendants. * ! * @param[in,out] n the <code>node</code> currently being traversed. */ void openvrml::node_traverser::on_leaving(node &) --- 4757,4764 ---- /** ! * @brief Called for each @c node in the traversal @e after ! * traversing the its descendants. * ! * @param[in,out] n the @c node currently being traversed. */ void openvrml::node_traverser::on_leaving(node &) Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** script.cpp 2 Aug 2006 21:06:22 -0000 1.76 --- script.cpp 6 Aug 2006 06:45:24 -0000 1.77 *************** *** 1376,1382 **** /** ! * @brief The eventOut identifier. * ! * @return the eventOut identifier. */ const std::string --- 1376,1382 ---- /** ! * @brief The @c eventOut identifier. * ! * @return the @c eventOut identifier. */ const std::string *************** *** 1392,1407 **** * @var openvrml::script_node::script_node_type openvrml::script_node::type * ! * @brief Type object for the script_node instance. * ! * Script node @link openvrml::node_type node_types@endlink are significantly ! * different from other @link openvrml::node_type node_types@endlink. While ! * most @link openvrml::node_type node_types@endlink are shared by the node ! * instances they spawn, the script_node_type is unique to a script_node ! * instance, and it shares the script_node's lifetime. This reflects the fact ! * that Script nodes in VRML get their functionality by the addition of fields, ! * eventIns, and eventOuts on a per-instance basis. * ! * For script_node instances, node::node_type is an alias for the ! * script_node_type object. */ --- 1392,1407 ---- * @var openvrml::script_node::script_node_type openvrml::script_node::type * ! * @brief Type object for the @c script_node instance. * ! * Script @c node @c node_type%s are significantly different from other ! * @c node_type%s. While most @c node_types are shared by the @c node ! * instances they spawn, the @c script_node_type is unique to a @c script_node ! * instance, and it shares the <code>script_node</code>'s lifetime. This ! * reflects the fact that Script @c node%s in VRML get their functionality by ! * the addition of @c field%s, @c eventIn%s, and @c eventOut%s on a ! * per-instance basis. * ! * For @c script_node instances, @c node::node_type is an alias for the ! * @c script_node_type object. */ *************** *** 1507,1533 **** * * Unlike other concrete node types, which are always instantiated via ! * <code>node_type::create_node</code>, the <code>script_node</code> ! * constructor is called directly when creating a new <code>script_node</code> ! * from scratch. However, a <code>script_node</code> can be duplicated (or ! * "cloned") by calling <code>node_type::create_node</code> on ! * <code>script_node::type</code> of a <code>script_node</code> instance. This ! * provides a consistent interface for cloning any node, regardless of its ! * type. OpenVRML uses this internally when instantiating <code>PROTO</code>s. * ! * @param[in] class_ the <code>script_node_metatype</code>. Typically ! * there is one <code>script_node_metatype</code> per ! * browser instance. ! * @param[in] scope the <code>scope</code> to which the node should ! * belong. ! * @param[in] interfaces a <code>node_interface_set</code> containing ! * specifications of user-defined fields, eventIns, ! * and eventOuts particular to the ! * <code>script_node</code> instance. ! * @param[in] initial_values a map of initial values for fields of the ! * <code>script_node</code>. * * @exception unsupported_interface if @p initial_values specifies a field that ! * is not supported by the ! * <code>script_node</code>. * @exception std::bad_cast if @p initial_values includes a field value * that is the wrong type for the specified --- 1507,1532 ---- * * Unlike other concrete node types, which are always instantiated via ! * @c node_type::create_node, the @c script_node constructor is called ! * 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 ! * there is one @c script_node_metatype per ! * browser instance. ! * @param[in] scope the @c scope to which the node should ! * belong. ! * @param[in] interfaces a @c node_interface_set containing ! * specifications of user-defined @c field%s, ! * @c eventIn%s, and @c eventOut%s particular to ! * the @c script_node instance. ! * @param[in] initial_values a map of initial values for @c field%s of the ! * @c script_node. * * @exception unsupported_interface if @p initial_values specifies a field that ! * is not supported by the @c script_node. * @exception std::bad_cast if @p initial_values includes a field value * that is the wrong type for the specified *************** *** 1535,1543 **** * @exception std::bad_alloc if memory allocation fails. * @exception std::invalid_argument if: ! * - @p interfaces includes an exposedField * specification. * - @p interfaces includes an interface * specification that duplicates an existing ! * Script node interface. * - @p initial_values is missing an initial * value for a user-defined field in --- 1534,1542 ---- * @exception std::bad_alloc if memory allocation fails. * @exception std::invalid_argument if: ! * - @p interfaces includes an @c exposedField * specification. * - @p interfaces includes an interface * specification that duplicates an existing ! * Script @c node interface. * - @p initial_values is missing an initial * value for a user-defined field in *************** *** 1751,1757 **** * Script nodes can be self referential. * ! * "Undo" the refcounting appropriately: decrement the refcount on any ! * self-references we acquire ownership of, and increment the refcount on any ! * self-references for which ownership is relinquished. * * @param[in] inval input sfnode. --- 1750,1756 ---- * Script nodes can be self referential. * ! * “Undo” the refcounting appropriately: decrement the refcount on ! * any self-references we acquire ownership of and increment the refcount on ! * any self-references for which ownership is relinquished. * * @param[in] inval input sfnode. *************** *** 1799,1805 **** * Script nodes can be self referential. * ! * "Undo" the refcounting appropriately: decrement the refcount on any ! * self-references we acquire ownership of, and increment the refcount on any ! * self-references for which ownership is relinquished. * * @param[in] inval input mfnode. --- 1798,1804 ---- * Script nodes can be self referential. * ! * “Undo” the refcounting appropriately: decrement the refcount on ! * any self-references we acquire ownership of and increment the refcount on ! * any self-references for which ownership is relinquished. * * @param[in] inval input mfnode. |
From: Braden M. <br...@us...> - 2006-08-06 06:45:26
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16529 Modified Files: ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1297 retrieving revision 1.1298 diff -C2 -d -r1.1297 -r1.1298 *** ChangeLog 6 Aug 2006 06:22:59 -0000 1.1297 --- ChangeLog 6 Aug 2006 06:45:24 -0000 1.1298 *************** *** 1,4 **** --- 1,12 ---- 2006-08-06 Braden McDaniel <br...@en...> + Doc-comment improvements. + + * src/libopenvrml/openvrml/browser.cpp + * src/libopenvrml/openvrml/node.cpp + * src/libopenvrml/openvrml/script.cpp + + 2006-08-06 Braden McDaniel <br...@en...> + Merged changes from 0.15.10 release. |
From: Braden M. <br...@us...> - 2006-08-06 06:23:03
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6563 Modified Files: ChangeLog NEWS Log Message: Merged changes from 0.15.10 release. Index: NEWS =================================================================== RCS file: /cvsroot/openvrml/openvrml/NEWS,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** NEWS 7 Jul 2005 03:47:42 -0000 1.36 --- NEWS 6 Aug 2006 06:22:59 -0000 1.37 *************** *** 1,2 **** --- 1,10 ---- + Changes new in version 0.15.10, 4 August, 2005 + ============================================== + + - Now compiles with gcc 4.0.1. + + - Fixed problem compiling on FreeBSD. + + Changes new in version 0.15.9, 6 July, 2005 =========================================== Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1296 retrieving revision 1.1297 diff -C2 -d -r1.1296 -r1.1297 *** ChangeLog 6 Aug 2006 03:40:31 -0000 1.1296 --- ChangeLog 6 Aug 2006 06:22:59 -0000 1.1297 *************** *** 1,2 **** --- 1,8 ---- + 2006-08-06 Braden McDaniel <br...@en...> + + Merged changes from 0.15.10 release. + + * NEWS: Added record of 0.15.0 release. + 2006-08-05 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-08-06 03:40:35
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31857 Modified Files: ChangeLog Log Message: Remove doxygen-generated files before running doxygen. Doxygen does not necessarily work well if output files from a previous run are present. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1295 retrieving revision 1.1296 diff -C2 -d -r1.1295 -r1.1296 *** ChangeLog 6 Aug 2006 03:37:18 -0000 1.1295 --- ChangeLog 6 Aug 2006 03:40:31 -0000 1.1296 *************** *** 1,4 **** --- 1,10 ---- 2006-08-05 Braden McDaniel <br...@en...> + * doc/Makefile.am: Remove doxygen-generated files before running + doxygen. Doxygen does not necessarily work well if output files + from a previous run are present. + + 2006-08-05 Braden McDaniel <br...@en...> + Doc-comment improvements. |
From: Braden M. <br...@us...> - 2006-08-06 03:40:34
|
Update of /cvsroot/openvrml/openvrml/doc In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31857/doc Modified Files: Makefile.am Log Message: Remove doxygen-generated files before running doxygen. Doxygen does not necessarily work well if output files from a previous run are present. Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/doc/Makefile.am,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** Makefile.am 24 Jul 2006 06:23:30 -0000 1.31 --- Makefile.am 6 Aug 2006 03:40:31 -0000 1.32 *************** *** 45,49 **** EXTRA_DIST = $(DOCUMENTATION_FILES) manual ! MAINTAINERCLEANFILES = \ $(srcdir)/manual/*.css \ $(srcdir)/manual/*.html \ --- 45,49 ---- EXTRA_DIST = $(DOCUMENTATION_FILES) manual ! DOXYGEN_OUTPUT_FILES = \ $(srcdir)/manual/*.css \ $(srcdir)/manual/*.html \ *************** *** 52,58 **** --- 52,62 ---- $(srcdir)/manual/*inherit__graph*.png \ $(srcdir)/manual/doxygen.png \ + $(srcdir)/manual/formula.repository \ + $(srcdir)/manual/form_*.png \ $(srcdir)/manual/graph_legend.* \ $(srcdir)/manual/tab_?.gif + MAINTAINERCLEANFILES = $(DOXYGEN_OUTPUT_FILES) + html-local: manual/index.html *************** *** 67,70 **** --- 71,75 ---- manual/index.html: $(DOCUMENTATION_FILES) $(DOCUMENTED_SOURCE_FILES) + rm -f $(DOXYGEN_OUTPUT_FILES) cd $(srcdir) && $(DOXYGEN) |
From: Braden M. <br...@us...> - 2006-08-06 03:37:22
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv30415/src/libopenvrml/openvrml Modified Files: browser.cpp node.cpp node.h Log Message: Doc-comment improvements. Index: node.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.h,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** node.h 19 May 2006 17:32:49 -0000 1.56 --- node.h 6 Aug 2006 03:37:19 -0000 1.57 *************** *** 250,254 **** class OPENVRML_API node_type : boost::noncopyable { ! const openvrml::node_metatype & metatype_; const std::string id_; --- 250,254 ---- class OPENVRML_API node_type : boost::noncopyable { ! const node_metatype & metatype_; const std::string id_; *************** *** 256,260 **** virtual ~node_type() OPENVRML_NOTHROW = 0; ! const openvrml::node_metatype & metatype() const OPENVRML_NOTHROW; const std::string & id() const OPENVRML_NOTHROW; const node_interface_set & interfaces() const OPENVRML_NOTHROW; --- 256,260 ---- virtual ~node_type() OPENVRML_NOTHROW = 0; ! const node_metatype & metatype() const OPENVRML_NOTHROW; const std::string & id() const OPENVRML_NOTHROW; const node_interface_set & interfaces() const OPENVRML_NOTHROW; *************** *** 267,271 **** protected: ! node_type(const openvrml::node_metatype & c, const std::string & id) OPENVRML_THROW1(std::bad_alloc); --- 267,271 ---- protected: ! node_type(const node_metatype & c, const std::string & id) OPENVRML_THROW1(std::bad_alloc); Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.187 retrieving revision 1.188 diff -C2 -d -r1.187 -r1.188 *** browser.cpp 6 Aug 2006 02:34:38 -0000 1.187 --- browser.cpp 6 Aug 2006 03:37:19 -0000 1.188 *************** *** 5483,5487 **** * * <pre> ! * #VRML V2.0 utf8 * * PROTO Outer [] { --- 5483,5487 ---- * * <pre> ! * \#VRML V2.0 utf8 * * PROTO Outer [] { *************** *** 5492,5497 **** * * The @c node_metatype_id string for @c Outer would be ! * <code>%http://example.com/example.wrl#Outer</code>; and for @c Inner, ! * <code>%http://example.com/example.wrl#Outer#Inner</code>. */ --- 5492,5497 ---- * * The @c node_metatype_id string for @c Outer would be ! * <code>%http://example.com/example.wrl\#Outer</code>; and for @c Inner, ! * <code>%http://example.com/example.wrl\#Outer\#Inner</code>. */ *************** *** 6624,6629 **** * absolute URI. As such, it will always have a scheme through which the * client code can choose a resolution mechanism. For more information on URI ! * syntax, see <a href="http://www.isi.edu/in-notes/rfc2396.txt">Internet ! * RFC 2396</a>. * * @param[in] uri an absolute Uniform Resource Identifier. --- 6624,6630 ---- * absolute URI. As such, it will always have a scheme through which the * client code can choose a resolution mechanism. For more information on URI ! * syntax, see <a ! * href="ftp://ftp.rfc-editor.org/in-notes/std/std66.txt">Internet ! * STD 66</a>. * * @param[in] uri an absolute Uniform Resource Identifier. Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** node.cpp 4 Aug 2006 05:44:14 -0000 1.86 --- node.cpp 6 Aug 2006 03:37:19 -0000 1.87 *************** *** 627,631 **** */ void openvrml::node_metatype::initialize(viewpoint_node * initial_viewpoint, ! const double time) OPENVRML_NOTHROW { --- 627,631 ---- */ void openvrml::node_metatype::initialize(viewpoint_node * initial_viewpoint, ! const double time) OPENVRML_NOTHROW { *************** *** 787,791 **** * @exception std::bad_alloc if memory allocation fails. */ ! openvrml::node_type::node_type(const openvrml::node_metatype & c, const std::string & id) OPENVRML_THROW1(std::bad_alloc): --- 787,791 ---- * @exception std::bad_alloc if memory allocation fails. */ ! openvrml::node_type::node_type(const node_metatype & c, const std::string & id) OPENVRML_THROW1(std::bad_alloc): |
From: Braden M. <br...@us...> - 2006-08-06 03:37:22
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv30415 Modified Files: ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1294 retrieving revision 1.1295 diff -C2 -d -r1.1294 -r1.1295 *** ChangeLog 6 Aug 2006 02:34:37 -0000 1.1294 --- ChangeLog 6 Aug 2006 03:37:18 -0000 1.1295 *************** *** 3,6 **** --- 3,14 ---- Doc-comment improvements. + * src/libopenvrml/openvrml/browser.cpp + * src/libopenvrml/openvrml/node.cpp + * src/libopenvrml/openvrml/node.h + + 2006-08-05 Braden McDaniel <br...@en...> + + Doc-comment improvements. + * src/libopenvrml/openvrml/basetypes.cpp * src/libopenvrml/openvrml/browser.cpp |
From: Braden M. <br...@us...> - 2006-08-06 02:34:41
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2387/src/libopenvrml/openvrml Modified Files: basetypes.cpp browser.cpp Log Message: Doc-comment improvements. Index: browser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/browser.cpp,v retrieving revision 1.186 retrieving revision 1.187 diff -C2 -d -r1.186 -r1.187 *** browser.cpp 28 Jul 2006 07:04:19 -0000 1.186 --- browser.cpp 6 Aug 2006 02:34:38 -0000 1.187 *************** *** 6688,6693 **** * @param[in,out] in an input stream. * ! * @exception bad_media_type if @p in.type() is not "model/vrml", ! * "x-world/x-vrml", or "model/x3d+vrml". * @exception invalid_vrml if @p in has invalid syntax. */ --- 6688,6693 ---- * @param[in,out] in an input stream. * ! * @exception bad_media_type if @p in.type() is not @c model/vrml, ! * @c x-world/x-vrml, or @c model/x3d+vrml. * @exception invalid_vrml if @p in has invalid syntax. */ Index: basetypes.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/basetypes.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** basetypes.cpp 4 Aug 2006 05:44:14 -0000 1.36 --- basetypes.cpp 6 Aug 2006 02:34:38 -0000 1.37 *************** *** 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 *************** *** 298,304 **** * @brief A color with alpha channel. * ! * VRML <code>color_rgba</code>s are represented as four single precision ! * floating point components—red, green, blue, and alpha—ranging ! * from 0.0 to 1.0. For the alpha channel, 1.0 is opaque. */ --- 298,304 ---- * @brief A color with alpha channel. * ! * VRML @c color_rgba%s are represented as four single precision floating ! * point components—red, green, blue, and alpha—ranging from 0.0 ! * to 1.0. For the alpha channel, 1.0 is opaque. */ *************** *** 2803,2807 **** * @brief Construct. * ! * Matrix is initialized to the identity matrix. */ openvrml::mat4f::mat4f() OPENVRML_NOTHROW --- 2803,2807 ---- * @brief Construct. * ! * The matrix is initialized to the identity matrix. */ openvrml::mat4f::mat4f() OPENVRML_NOTHROW *************** *** 2831,2834 **** --- 2831,2841 ---- * @brief Construct mat4f with given 16 elements in row-major order. * + * \f[ \left[ \begin{array}{cccc} + * f_{11} & f_{12} & f_{13} & f_{14} \\ + * f_{21} & f_{22} & f_{23} & f_{24} \\ + * f_{31} & f_{32} & f_{33} & f_{34} \\ + * f_{41} & f_{42} & f_{43} & f_{44} \\ + * \end{array} \right] \f] + * * @param[in] f11 * @param[in] f12 *************** *** 3038,3044 **** * transformation matrix. * ! * Here any projection or shear information in the matrix is ignored. The ! * caller is responsible for assuring that the transformation is in fact ! * orthogonal, otherwise the results are undefined. * * @param[out] t translation. --- 3045,3051 ---- * transformation matrix. * ! * Any projection or shear information in the matrix is ignored. The caller ! * is responsible for assuring that the transformation is in fact orthogonal; ! * otherwise the results are undefined. * * @param[out] t translation. *************** *** 3113,3121 **** // ! // At this point, the matrix (in rows[]) is orthonormal. ! // That is, each row has length one and are mutually perpendicular. ! // Is it needed to calculate the det of this matrix (1 or -1) for checking ! // coordinate system flip ? (According to VRML standard, scale > 0.0) ! // Calculate quaternion rotation from this matrix. // quatf quat(tmp_matrix); --- 3120,3128 ---- // ! // At this point, the matrix (in rows[]) is orthonormal. That is, each ! // row has length one and are mutually perpendicular. Is it necessary to ! // calculate the det of this matrix (1 or -1) for checking coordinate ! // system flip? (According to VRML97, scale > 0.0.) Calculate quaternion ! // rotation from this matrix. // quatf quat(tmp_matrix); *************** *** 3128,3137 **** /** ! * @brief Get the translation, rotation, scale and shear from affine ! * transformation matrix. * ! * Here any projection information in matrix is ignored. As VRML allows ! * non-uniform scaling, it is safe to call this routine. The caller is ! * responsible for assuring that the transformation is in fact affine, * otherwise the results are undefined. * --- 3135,3144 ---- /** ! * @brief Get the translation, rotation, scale and shear from an affine ! * transformation matrix. * ! * Any projection information in the matrix is ignored. As VRML allows ! * non-uniform scaling, it is safe to call this routine. The caller is ! * responsible for assuring that the transformation matrix is in fact affine; * otherwise the results are undefined. * *************** *** 3232,3240 **** // ! // At this point, the matrix (in rows[]) is orthonormal. ! // That is, each row has length one and are mutually perpendicular. ! // Is it needed to calculate the det of this matrix (1 or -1) for checking ! // coordinate system flip ? (According to VRML standard, scale > 0.0) ! // Calculate quaternion rotation from this matrix. // quatf quat(tmp_matrix); --- 3239,3247 ---- // ! // At this point, the matrix (in rows[]) is orthonormal. That is, each ! // row has length one and are mutually perpendicular. Is it needed to ! // calculate the det of this matrix (1 or -1) for checking coordinate ! // system flip? (According to VRML standard, scale > 0.0.) Calculate ! // quaternion rotation from this matrix. // quatf quat(tmp_matrix); *************** *** 3248,3257 **** namespace { /** ! * This is taken from Graphics Gems 2, Page 603 and it is valid for only ! * affine matrix with dimension of 4x4. As here we are storing row-major ! * order, this means the last column MUST be [0 0 0 1] * ! * By this procedure there is a significant performance improvement over ! * a general procedure that can invert any nonsingular matrix. * * -1 --- 3255,3264 ---- namespace { /** ! * This is taken from Graphics Gems 2, Page 603 and it is valid only for ! * an affine matrix with dimension of 4x4. Since we are using row-major ! * order, this means the last column MUST be [0 0 0 1]. * ! * By this procedure there is a significant performance improvement over a ! * general procedure that can invert any nonsingular matrix. * * -1 *************** *** 3266,3272 **** * B is the 1 by 3 lower left submatrix of M. * ! * It aborts if input matrix is not affine. ! * It returns without doing any calculations if the input matrix is ! * singular. * * @param[in] in 3D affine matrix. --- 3273,3278 ---- * B is the 1 by 3 lower left submatrix of M. * ! * It aborts if input matrix is not affine. It returns without doing any ! * calculations if the input matrix is singular. * * @param[in] in 3D affine matrix. *************** *** 3525,3530 **** * * @param[in] quat the first three values in the array are used for the x, y, ! * and z vector components, respectively. The fourth value in ! * the array is used for the scalar part of the quaternion. */ openvrml::quatf::quatf(const float (&quat)[4]) OPENVRML_NOTHROW --- 3531,3537 ---- * * @param[in] quat the first three values in the array are used for the x, y, ! * and z vector components, respectively. The fourth value ! * in the array is used for the scalar part of the ! * quaternion. */ openvrml::quatf::quatf(const float (&quat)[4]) OPENVRML_NOTHROW *************** *** 3592,3601 **** * @brief Multiply by a quaternion. * ! * @note <b>qr</b> = (<b>q</b><sub><i>v</i></sub> x <b>r</b><sub><i>v</i></sub> ! * + <i>r<sub>w</sub></i><b>q</b><sub><i>v</i></sub> ! * + <i>q<sub>w</sub></i><b>r</b><sub><i>v</i></sub>, ! * <i>q<sub>w</sub>r<sub>w</sub></i> ! * - <b>q</b><sub><i>v</i></sub> ! * . <b>r</b><sub><i>v</i></sub>) * * @param[in] quat the quaternion by which to multiply. --- 3599,3605 ---- * @brief Multiply by a quaternion. * ! * @note \f[ ! * qr = ( \vec{q_v} \times \vec{r_v} + r_w \vec{q_v} + q_w \vec{r_v}, q_w r_w - \vec{q_v} \cdotp \vec{r_v}) ! * \f] * * @param[in] quat the quaternion by which to multiply. *************** *** 3797,3801 **** * @brief Array element dereference operator (const version). * ! * @param[in] index an index from 0 - 3. * * @pre @p index is not larger than 3. --- 3801,3805 ---- * @brief Array element dereference operator (const version). * ! * @param[in] index an index from 0–3. * * @pre @p index is not larger than 3. *************** *** 3807,3811 **** * @brief Array element dereference operator (non-const version). * ! * @param[in] index an index from 0 - 3. * * @pre @p index is not larger than 3. --- 3811,3815 ---- * @brief Array element dereference operator (non-const version). * ! * @param[in] index an index from 0–3. * * @pre @p index is not larger than 3. *************** *** 3879,3884 **** * @brief Get the conjugate. * ! * @note <b>q</b><sup>*</sup> = (-<b>q</b><sub><i>v</i></sub>, ! * <i>q<sub>w</sub></i>) * * @return the conjugate of the quaternion. --- 3883,3887 ---- * @brief Get the conjugate. * ! * @note \f[ q^* = (- \vec{q_v}, q_w) \f] * * @return the conjugate of the quaternion. *************** *** 3896,3900 **** * @brief Get the inverse. * ! * @note <b>q</b><sup>-1</sup> = <b>q</b><sup>*</sup> / <i>n</i>(<b>q</b>) * * @return the multiplicative inverse. --- 3899,3903 ---- * @brief Get the inverse. * ! * @note \f[ q^{-1} = \frac{q^*}{n(q)} \f] * * @return the multiplicative inverse. *************** *** 3908,3915 **** * @brief Get the norm. * ! * @note <i>n</i>(<b>q</b>) = <i>q<sub>x</sub></i><sup>2</sup> ! * + <i>q<sub>y</sub></i><sup>2</sup> ! * + <i>q<sub>z</sub></i><sup>2</sup> ! * + <i>q<sub>w</sub></i><sup>2</sup> * * @return the norm. --- 3911,3915 ---- * @brief Get the norm. * ! * @note \f[ n(q) = q_x^2 + q_y^2 + q_z^2 + q_w^2 \f] * * @return the norm. *************** *** 3944,3948 **** * * @param[in,out] out an output stream. ! * @param[in] quat a quaternion. * * @return @p out. --- 3944,3948 ---- * * @param[in,out] out an output stream. ! * @param[in] quat a quaternion. * * @return @p out. *************** *** 3994,4007 **** * * The first pixel in the @link image::array array@endlink is the lower left ! * pixel and the last is the upper right pixel. Pixel values are limited ! * to 256 levels of intensity. The elements of ! * @link image::array array@endlink are bytes, with one byte per pixel ! * component. Thus the number of elements in the array is ! * @p x * @p y * @p comp. * * A one-component image specifies one-byte greyscale values. A two-component ! * image specifies the intensity in the first byte and the alpha opacity in the ! * second byte. A three-component image specifies the red component in the ! * first byte, followed by the green and blue components. Four-component * images specify the alpha opacity byte after red/green/blue. */ --- 3994,4006 ---- * * The first pixel in the @link image::array array@endlink is the lower left ! * pixel and the last is the upper right pixel. Pixel values are limited to ! * 256 levels of intensity. The elements of @link image::array array@endlink ! * are bytes, with one byte per pixel component. Thus the number of elements ! * in the array is @p x * @p y * @p comp. * * A one-component image specifies one-byte greyscale values. A two-component ! * image specifies the intensity in the first byte and the alpha opacity in ! * the second byte. A three-component image specifies the red component in ! * the first byte, followed by the green and blue components. Four-component * images specify the alpha opacity byte after red/green/blue. */ *************** *** 4232,4236 **** * @param[in] begin input iterator to the beginning of a sequence. * @param[in] end input iterator to the end of the sequence (one past the last ! * element). */ --- 4231,4235 ---- * @param[in] begin input iterator to the beginning of a sequence. * @param[in] end input iterator to the end of the sequence (one past the last ! * element). */ |
From: Braden M. <br...@us...> - 2006-08-06 02:34:40
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2387 Modified Files: ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1293 retrieving revision 1.1294 diff -C2 -d -r1.1293 -r1.1294 *** ChangeLog 5 Aug 2006 23:30:23 -0000 1.1293 --- ChangeLog 6 Aug 2006 02:34:37 -0000 1.1294 *************** *** 1,4 **** --- 1,11 ---- 2006-08-05 Braden McDaniel <br...@en...> + Doc-comment improvements. + + * src/libopenvrml/openvrml/basetypes.cpp + * src/libopenvrml/openvrml/browser.cpp + + 2006-08-05 Braden McDaniel <br...@en...> + Increased buffer sizes to something a little more reasonable (16kB). |
From: Braden M. <br...@us...> - 2006-08-05 23:30:29
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv29044 Modified Files: ChangeLog Log Message: Increased buffer sizes to something a little more reasonable (16kB). Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1292 retrieving revision 1.1293 diff -C2 -d -r1.1292 -r1.1293 *** ChangeLog 4 Aug 2006 05:44:14 -0000 1.1292 --- ChangeLog 5 Aug 2006 23:30:23 -0000 1.1293 *************** *** 1,2 **** --- 1,14 ---- + 2006-08-05 Braden McDaniel <br...@en...> + + Increased buffer sizes to something a little more + reasonable (16kB). + + * mozilla-plugin/src/openvrml-player/command_istream.h + (openvrml_player::command_streambuf::source_buffer_): Changed + buffer size to 16384. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.h + (openvrml_player::plugin_streambuf::buf_): Changed buffer size to + 16384. + 2006-08-04 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-08-05 23:30:29
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv29044/mozilla-plugin/src/openvrml-player Modified Files: command_istream.h plugin_streambuf.h Log Message: Increased buffer sizes to something a little more reasonable (16kB). Index: command_istream.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/command_istream.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** command_istream.h 8 Jul 2006 07:00:34 -0000 1.2 --- command_istream.h 5 Aug 2006 23:30:24 -0000 1.3 *************** *** 38,42 **** gpointer data); ! bounded_buffer<char_type, 64> source_buffer_; char_type c_; --- 38,42 ---- gpointer data); ! bounded_buffer<char_type, 16384> source_buffer_; char_type c_; Index: plugin_streambuf.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** plugin_streambuf.h 4 Aug 2006 04:59:20 -0000 1.9 --- plugin_streambuf.h 5 Aug 2006 23:30:24 -0000 1.10 *************** *** 46,50 **** std::string url_; std::string type_; ! bounded_buffer<char_type, 64> buf_; int_type i_; char_type c_; --- 46,50 ---- std::string url_; std::string type_; ! bounded_buffer<char_type, 16384> buf_; int_type i_; char_type c_; |
From: Braden M. <br...@us...> - 2006-08-04 05:44:18
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19385/src/libopenvrml/openvrml Modified Files: basetypes.cpp field_value.cpp node.cpp Log Message: Removed use of @defgroup and @ingroup in doc-comments. Index: basetypes.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/basetypes.cpp,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** basetypes.cpp 2 Aug 2006 03:20:02 -0000 1.35 --- basetypes.cpp 4 Aug 2006 05:44:14 -0000 1.36 *************** *** 98,109 **** /** - * @defgroup basetypes Base Types - */ - - /** * @typedef openvrml::int32 * - * @ingroup basetypes - * * @brief 32-bit signed integer. */ --- 98,103 ---- *************** *** 112,117 **** * @class openvrml::color * - * @ingroup basetypes - * * @brief A color. * --- 106,109 ---- *************** *** 304,309 **** * @class openvrml::color_rgba * - * @ingroup basetypes - * * @brief A color with alpha channel. * --- 296,299 ---- *************** *** 524,529 **** * @class openvrml::vec2f * - * @ingroup basetypes - * * @brief Two-component single precision vector. */ --- 514,517 ---- *************** *** 885,890 **** * @class openvrml::vec2d * - * @ingroup basetypes - * * @brief Two-component single precision vector. */ --- 873,876 ---- *************** *** 1246,1251 **** * @class openvrml::vec3f * - * @ingroup basetypes - * * @brief Three-component single precision vector. */ --- 1232,1235 ---- *************** *** 1737,1742 **** * @class openvrml::vec3d * - * @ingroup basetypes - * * @brief Three-component single precision vector. */ --- 1721,1724 ---- *************** *** 2228,2233 **** * @class openvrml::rotation * - * @ingroup basetypes - * * @brief A rotation. * --- 2210,2213 ---- *************** *** 2644,2649 **** * @class openvrml::mat4f * - * @ingroup basetypes - * * @brief A class for all matrix operations. * --- 2624,2627 ---- *************** *** 3501,3506 **** * @class openvrml::quatf * - * @ingroup basetypes - * * @brief A quaternion. */ --- 3479,3482 ---- *************** *** 4015,4020 **** * @class openvrml::image * - * @ingroup basetypes - * * @brief Pixmap data. * --- 3991,3994 ---- Index: field_value.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/field_value.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** field_value.cpp 25 Jul 2006 03:52:07 -0000 1.27 --- field_value.cpp 4 Aug 2006 05:44:14 -0000 1.28 *************** *** 34,41 **** /** - * @defgroup fieldvalues Field Values - */ - - /** * @brief Stream output. * --- 34,37 ---- *************** *** 55,60 **** * @class openvrml::field_value * - * @ingroup fieldvalues - * * @brief Abstract base class for the VRML field types. * --- 51,54 ---- *************** *** 807,812 **** * @class openvrml::sfbool * - * @ingroup fieldvalues - * * @brief A boolean @c node field value. * --- 801,804 ---- *************** *** 987,992 **** * @class openvrml::sfcolor * - * @ingroup fieldvalues - * * @brief A color node field value. * --- 979,982 ---- *************** *** 1167,1172 **** * @class openvrml::sfcolorrgba * - * @ingroup fieldvalues - * * @brief A color_rgba node field value. * --- 1157,1160 ---- *************** *** 1349,1354 **** * @class openvrml::sffloat * - * @ingroup fieldvalues - * * @brief A single precision floating point node field value. * --- 1337,1340 ---- *************** *** 1528,1533 **** * @class openvrml::sfdouble * - * @ingroup fieldvalues - * * @brief A single precision doubleing point node field value. * --- 1514,1517 ---- *************** *** 1708,1713 **** * @class openvrml::sfimage * - * @ingroup fieldvalues - * * @brief A pixmap. * --- 1692,1695 ---- *************** *** 1892,1897 **** * @class openvrml::sfint32 * - * @ingroup fieldvalues - * * @brief A 32-bit integer node field value. * --- 1874,1877 ---- *************** *** 2072,2077 **** * @class openvrml::sfnode * - * @ingroup fieldvalues - * * @brief A node field value to hold a single node reference. * --- 2052,2055 ---- *************** *** 2257,2262 **** * @class openvrml::sfrotation * - * @ingroup fieldvalues - * * @brief A rotation node field value. * --- 2235,2238 ---- *************** *** 2451,2456 **** * @class openvrml::sfstring * - * @ingroup fieldvalues - * * @brief A string node field value. * --- 2427,2430 ---- *************** *** 2635,2640 **** * @class openvrml::sftime * - * @ingroup fieldvalues - * * @brief A double precision floating point node field value. * --- 2609,2612 ---- *************** *** 2816,2821 **** * @class openvrml::sfvec2f * - * @ingroup fieldvalues - * * @brief A 2-component vector node field value. * --- 2788,2791 ---- *************** *** 2995,3000 **** * @class openvrml::sfvec2d * - * @ingroup fieldvalues - * * @brief A 2-component vector node field value. * --- 2965,2968 ---- *************** *** 3183,3188 **** * @class openvrml::sfvec3f * - * @ingroup fieldvalues - * * @brief A 3-component vector node field value. * --- 3151,3154 ---- *************** *** 3362,3367 **** * @class openvrml::sfvec3d * - * @ingroup fieldvalues - * * @brief A 3-component vector node field value. * --- 3328,3331 ---- *************** *** 3542,3547 **** * @class openvrml::mfbool * - * @ingroup fieldvalues - * * @brief A @c bool array node field value. * --- 3506,3509 ---- *************** *** 3755,3760 **** * @class openvrml::mfcolor * - * @ingroup fieldvalues - * * @brief A color array node field value. * --- 3717,3720 ---- *************** *** 3967,3972 **** * @class openvrml::mfcolorrgba * - * @ingroup fieldvalues - * * @brief A color_rgba array node field value. * --- 3927,3930 ---- *************** *** 4183,4188 **** * @class openvrml::mffloat * - * @ingroup fieldvalues - * * @brief A float array node field value. * --- 4141,4144 ---- *************** *** 4395,4400 **** * @class openvrml::mfdouble * - * @ingroup fieldvalues - * * @brief A double array node field value. * --- 4351,4354 ---- *************** *** 4607,4612 **** * @class openvrml::mfimage * - * @ingroup fieldvalues - * * @brief A image array node field value. * --- 4561,4564 ---- *************** *** 4819,4824 **** * @class openvrml::mfint32 * - * @ingroup fieldvalues - * * @brief An integer array node field value. * --- 4771,4774 ---- *************** *** 5032,5037 **** * @class openvrml::mfnode * - * @ingroup fieldvalues - * * @brief A node reference array node field value. * --- 4982,4985 ---- *************** *** 5248,5253 **** * @class openvrml::mfrotation * - * @ingroup fieldvalues - * * @brief A rotation array node field value. * --- 5196,5199 ---- *************** *** 5462,5467 **** * @class openvrml::mfstring * - * @ingroup fieldvalues - * * @brief A string array node field value. * --- 5408,5411 ---- *************** *** 5677,5682 **** * @class openvrml::mftime * - * @ingroup fieldvalues - * * @brief A double array node field value. * --- 5621,5624 ---- *************** *** 5892,5897 **** * @class openvrml::mfvec2f * - * @ingroup fieldvalues - * * @brief A 2-component vector array node field value. * --- 5834,5837 ---- *************** *** 6105,6110 **** * @class openvrml::mfvec2d * - * @ingroup fieldvalues - * * @brief A 2-component vector array node field value. * --- 6045,6048 ---- *************** *** 6319,6324 **** * @class openvrml::mfvec3f * - * @ingroup fieldvalues - * * @brief A 3-component vector array node field value. * --- 6257,6260 ---- *************** *** 6533,6538 **** * @class openvrml::mfvec3d * - * @ingroup fieldvalues - * * @brief A 3-component vector array node field value. * --- 6469,6472 ---- Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** node.cpp 25 Jul 2006 03:52:07 -0000 1.85 --- node.cpp 4 Aug 2006 05:44:14 -0000 1.86 *************** *** 35,46 **** /** - * @defgroup nodes Nodes - */ - - /** * @class openvrml::unsupported_interface * - * @ingroup nodes - * * @brief Exception to indicate that a @c node interface is not supported. * --- 35,40 ---- *************** *** 105,110 **** * @class openvrml::node_interface * - * @ingroup nodes - * * @brief Type information for an interface of a @c node. */ --- 99,102 ---- *************** *** 319,324 **** * @struct openvrml::node_interface_matches_eventin * - * @ingroup nodes - * * @brief Determine if a @c node_interface matches an @c eventIn identifier. * --- 311,314 ---- *************** *** 360,365 **** * @struct openvrml::node_interface_matches_eventout * - * @ingroup nodes - * * @brief Determine if a @c node_interface matches an @c eventOut identifier. * --- 350,353 ---- *************** *** 402,407 **** * @struct openvrml::node_interface_matches_exposedfield * - * @ingroup nodes - * * @brief Determine if a @c node_interface matches an @c exposedField * identifier. --- 390,393 ---- *************** *** 436,441 **** * @struct openvrml::node_interface_matches_field * - * @ingroup nodes - * * @brief Determine if a @c node_interface matches an field * identifier. --- 422,425 ---- *************** *** 468,473 **** * @struct openvrml::node_interface_compare * - * @ingroup nodes - * * @brief Function object to compare two @c node_interface%s based on their * id. --- 452,455 ---- *************** *** 512,517 **** * @typedef std::set<openvrml::node_interface, openvrml::node_interface_compare> openvrml::node_interface_set * - * @ingroup nodes - * * @brief A group of unique @c node_interface%s. * --- 494,497 ---- *************** *** 523,528 **** /** - * @ingroup nodes - * * @brief Find an interface matching @p id. * --- 503,506 ---- *************** *** 565,570 **** * @class openvrml::node_metatype * - * @ingroup nodes - * * @brief A class object for node instances. * --- 543,546 ---- *************** *** 784,789 **** * @class openvrml::node_type * - * @ingroup nodes - * * @brief Type information object for @c node%s. */ --- 760,763 ---- *************** *** 979,984 **** * @class openvrml::field_value_type_mismatch * - * @ingroup nodes - * * @brief Thrown when field value types do not match, generally in a @c ROUTE * or @c IS. --- 953,956 ---- *************** *** 1002,1007 **** * @typedef std::deque<openvrml::node *> openvrml::node_path * - * @ingroup nodes - * * @brief A path to a @c node in the @c scene starting with one of the @c * scene root @c node%s and ending with the objective @c node. --- 974,977 ---- *************** *** 1012,1017 **** * @fn To * openvrml::node_cast(node * n) * - * @ingroup nodes - * * @relatesalso openvrml::node * --- 982,985 ---- *************** *** 1026,1031 **** * @class openvrml::node * - * @ingroup nodes - * * @brief A @c node in the scene graph. */ --- 994,997 ---- *************** *** 2611,2616 **** /** - * @ingroup nodes - * * @brief Add a route from an eventOut of this node to an eventIn of another * node. --- 2577,2580 ---- *************** *** 2688,2693 **** /** - * @ingroup nodes - * * @brief Remove a route from an eventOut of this node to an eventIn of another * node. --- 2652,2655 ---- *************** *** 2923,2928 **** * @class openvrml::appearance_node * - * @ingroup nodes - * * @brief Abstract base class for appearance nodes. */ --- 2885,2888 ---- *************** *** 3010,3015 **** * @class openvrml::bounded_volume_node * - * @ingroup nodes - * * @brief Abstract base class for nodes that represent a bounded volume in the * scene graph. --- 2970,2973 ---- *************** *** 3136,3141 **** * @class openvrml::child_node * - * @ingroup nodes - * * @brief Abstract base class for child nodes. */ --- 3094,3097 ---- *************** *** 3264,3269 **** * @class openvrml::color_node * - * @ingroup nodes - * * @brief Abstract base class for color nodes. */ --- 3220,3223 ---- *************** *** 3310,3315 **** * @class openvrml::color_rgba_node * - * @ingroup nodes - * * @brief Abstract base class for RGBA color nodes. */ --- 3264,3267 ---- *************** *** 3402,3407 **** * @class openvrml::font_style_node * - * @ingroup nodes - * * @brief Abstract base class for font style nodes. */ --- 3354,3357 ---- *************** *** 3519,3524 **** * @class openvrml::geometry_node * - * @ingroup nodes - * * @brief Abstract base class for geometry nodes. */ --- 3469,3472 ---- *************** *** 3652,3657 **** * @class openvrml::grouping_node * - * @ingroup nodes - * * @brief Abstract base class for grouping nodes. */ --- 3600,3603 ---- *************** *** 3750,3755 **** * @class openvrml::light_node * - * @ingroup nodes - * * @brief Abstract base class for light nodes. */ --- 3696,3699 ---- *************** *** 3790,3795 **** * @class openvrml::material_node * - * @ingroup nodes - * * @brief Abstract base class for material nodes. */ --- 3734,3737 ---- *************** *** 3877,3882 **** * @class openvrml::navigation_info_node * - * @ingroup nodes - * * @brief Abstract base class for normal nodes. */ --- 3819,3822 ---- *************** *** 3958,3963 **** * @class openvrml::normal_node * - * @ingroup nodes - * * @brief Abstract base class for normal nodes. */ --- 3898,3901 ---- *************** *** 4140,4145 **** * @class openvrml::sound_source_node * - * @ingroup nodes - * * @brief Abstract base class for sound source nodes. */ --- 4078,4081 ---- *************** *** 4179,4184 **** * @class openvrml::texture_node * - * @ingroup nodes - * * @brief Abstract base class for texture nodes. */ --- 4115,4118 ---- *************** *** 4297,4302 **** * @class openvrml::texture_coordinate_node * - * @ingroup nodes - * * @brief Abstract base class for texture coordinate nodes. */ --- 4231,4234 ---- *************** *** 4345,4350 **** * @class openvrml::texture_transform_node * - * @ingroup nodes - * * @brief Abstract base class for texture transform nodes. */ --- 4277,4280 ---- *************** *** 4403,4408 **** * @class openvrml::time_dependent_node * - * @ingroup nodes - * * @brief Abstract base class for time-dependent nodes. */ --- 4333,4336 ---- *************** *** 4462,4467 **** * @class openvrml::transform_node * - * @ingroup nodes - * * @brief Abstract base class for texture transform nodes. */ --- 4390,4393 ---- *************** *** 4512,4517 **** * @class openvrml::viewpoint_node * - * @ingroup nodes - * * @brief Abstract base class for texture transform nodes. */ --- 4438,4441 ---- *************** *** 4597,4602 **** * @class openvrml::node_traverser * - * @ingroup nodes - * * @brief Traverse the children of each node in a node hierarchy only once. * --- 4521,4524 ---- |
From: Braden M. <br...@us...> - 2006-08-04 05:44:17
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv19385 Modified Files: ChangeLog Log Message: Removed use of @defgroup and @ingroup in doc-comments. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1291 retrieving revision 1.1292 diff -C2 -d -r1.1291 -r1.1292 *** ChangeLog 4 Aug 2006 04:59:20 -0000 1.1291 --- ChangeLog 4 Aug 2006 05:44:14 -0000 1.1292 *************** *** 1,4 **** --- 1,12 ---- 2006-08-04 Braden McDaniel <br...@en...> + Removed use of @defgroup and @ingroup in doc-comments. + + * src/libopenvrml/openvrml/basetypes.cpp + * src/libopenvrml/openvrml/field_value.cpp + * src/libopenvrml/openvrml/node.cpp + + 2006-08-04 Braden McDaniel <br...@en...> + Set the plugin_resource_istream initial state to invalid if the Web browser's get-url function fails. This means that the child |
From: Braden M. <br...@us...> - 2006-08-04 04:59:23
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1041 Modified Files: ChangeLog Log Message: Set the plugin_resource_istream initial state to invalid if the Web browser's get-url function fails. This means that the child process blocks until the Web browser has informed it of the validity of the get-url operation. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1290 retrieving revision 1.1291 diff -C2 -d -r1.1290 -r1.1291 *** ChangeLog 3 Aug 2006 23:32:52 -0000 1.1290 --- ChangeLog 4 Aug 2006 04:59:20 -0000 1.1291 *************** *** 1,2 **** --- 1,32 ---- + 2006-08-04 Braden McDaniel <br...@en...> + + Set the plugin_resource_istream initial state to invalid if the + Web browser's get-url function fails. This means that the child + process blocks until the Web browser has informed it of the + validity of the get-url operation. + + * mozilla-plugin/src/openvrml.cpp + (request_data_available): Write the result of NPN_GetURL to the + command channel. + * mozilla-plugin/src/openvrml-player/gtkvrmlbrowser.cpp + (browser::do_get_resource(const + std::string&)::plugin_resource_istream::plugin_resource_istream(const + std::string &, GIOChannel *)): Set the failbit if the Web + browser's get-url function failed. + * mozilla-plugin/src/openvrml-player/player.cpp + (openvrml_player::command_istream_reader::operator()()): Handle + get-url-result command. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp + (openvrml_player::plugin_streambuf::set_get_url_result(int)): Set + the result of the get-url operation (from the get-url-result + command). + (openvrml_player::plugin_streambuf::get_url_result() const): Get + the result code from the Web browser's get-url operation (via the + get-url-result command). + * mozilla-plugin/src/openvrml-player/plugin_streambuf.h + (openvrml_player::plugin_streambuf): Added get_url_result_ and + received_get_url_result_ members; added set_get_url_result(int) + and get_url_result() member functions. + 2006-08-03 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-08-04 04:59:23
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1041/mozilla-plugin/src Modified Files: openvrml.cpp Log Message: Set the plugin_resource_istream initial state to invalid if the Web browser's get-url function fails. This means that the child process blocks until the Web browser has informed it of the validity of the get-url operation. Index: openvrml.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** openvrml.cpp 23 Jul 2006 07:29:17 -0000 1.36 --- openvrml.cpp 4 Aug 2006 04:59:20 -0000 1.37 *************** *** 1251,1257 **** string url, target; pluginInstance.request_line >> url >> target; ! NPN_GetURL(pluginInstance.npp, ! url.c_str(), ! target.empty() ? 0 : target.c_str()); } } --- 1251,1267 ---- string url, target; pluginInstance.request_line >> url >> target; ! const NPError result = ! NPN_GetURL(pluginInstance.npp, ! url.c_str(), ! target.empty() ? 0 : target.c_str()); ! std::ostringstream command; ! command << "get-url-result " << url << ' ' << result << '\n'; ! const ssize_t bytes_written = ! pluginInstance.WriteCommand(command.str()); ! if (bytes_written != command.str().length()) { ! // XXX ! // XXX Do what here? Console message? ! // XXX ! } } } |
From: Braden M. <br...@us...> - 2006-08-04 04:59:22
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1041/mozilla-plugin/src/openvrml-player Modified Files: gtkvrmlbrowser.cpp player.cpp plugin_streambuf.cpp plugin_streambuf.h Log Message: Set the plugin_resource_istream initial state to invalid if the Web browser's get-url function fails. This means that the child process blocks until the Web browser has informed it of the validity of the get-url operation. Index: player.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/player.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** player.cpp 3 Aug 2006 23:32:52 -0000 1.29 --- player.cpp 4 Aug 2006 04:59:20 -0000 1.30 *************** *** 74,78 **** string command; command_line_stream >> command; ! if (command == "new-stream") { using boost::shared_ptr; --- 74,89 ---- string command; command_line_stream >> command; ! if (command == "get-url-result") { ! using boost::shared_ptr; ! ! std::string url; ! int result; ! command_line_stream >> url >> result; ! ! shared_ptr<plugin_streambuf> streambuf = ! uninitialized_plugin_streambuf_map_.find(url); ! assert(streambuf); ! streambuf->set_get_url_result(result); ! } else if (command == "new-stream") { using boost::shared_ptr; Index: plugin_streambuf.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** plugin_streambuf.cpp 3 Aug 2006 23:32:52 -0000 1.10 --- plugin_streambuf.cpp 4 Aug 2006 04:59:20 -0000 1.11 *************** *** 24,27 **** --- 24,28 ---- openvrml_player::plugin_streambuf:: plugin_streambuf(const std::string & requested_url): + get_url_result_(-1), initialized_(false), url_(requested_url), *************** *** 40,43 **** --- 41,61 ---- } + void openvrml_player::plugin_streambuf::set_get_url_result(const int result) + { + boost::mutex::scoped_lock lock(this->mutex_); + assert(this->get_url_result_ == -1); + this->get_url_result_ = result; + this->received_get_url_result_.notify_all(); + } + + int openvrml_player::plugin_streambuf::get_url_result() const + { + boost::mutex::scoped_lock lock(this->mutex_); + while (this->get_url_result_ == -1) { + this->received_get_url_result_.wait(lock); + } + return this->get_url_result_; + } + void openvrml_player::plugin_streambuf::init(const size_t stream_id, const std::string & received_url, Index: gtkvrmlbrowser.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/gtkvrmlbrowser.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** gtkvrmlbrowser.cpp 24 Jul 2006 07:25:00 -0000 1.5 --- gtkvrmlbrowser.cpp 4 Aug 2006 04:59:20 -0000 1.6 *************** *** 183,187 **** } ! void gtk_vrml_browser_class_init(GtkVrmlBrowserClass * klass) {} --- 183,187 ---- } ! void gtk_vrml_browser_class_init(GtkVrmlBrowserClass *) {} *************** *** 510,513 **** --- 510,521 ---- 0); g_io_channel_flush(this->request_channel_, 0); + + // + // This blocks until we know the result of NPN_GetURL. + // + const int get_url_result = this->streambuf_->get_url_result(); + if (get_url_result != 0) { + this->setstate(std::ios_base::failbit); + } } Index: plugin_streambuf.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** plugin_streambuf.h 3 Aug 2006 23:32:52 -0000 1.8 --- plugin_streambuf.h 4 Aug 2006 04:59:20 -0000 1.9 *************** *** 40,43 **** --- 40,45 ---- mutable boost::mutex mutex_; + int get_url_result_; + mutable boost::condition received_get_url_result_; bool initialized_; mutable boost::condition streambuf_initialized_; *************** *** 53,56 **** --- 55,60 ---- public: explicit plugin_streambuf(const std::string & requested_url); + void set_get_url_result(int result); + int get_url_result() const; void init(size_t stream_id, const std::string & received_url, |
From: Braden M. <br...@us...> - 2006-08-03 23:32:57
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1589 Modified Files: ChangeLog Log Message: Reverted plugin_streambuf to use bounded_buffer now that EOF can be set on bounded_buffer. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1289 retrieving revision 1.1290 diff -C2 -d -r1.1289 -r1.1290 *** ChangeLog 3 Aug 2006 23:10:23 -0000 1.1289 --- ChangeLog 3 Aug 2006 23:32:52 -0000 1.1290 *************** *** 1,4 **** --- 1,33 ---- 2006-08-03 Braden McDaniel <br...@en...> + Reverted plugin_streambuf to use bounded_buffer now that EOF can + be set on bounded_buffer. + + * mozilla-plugin/src/openvrml-player/player.cpp + (openvrml_player::command_istream_reader::operator()() const): + Changed to call bounded_buffer::set_eof. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp + (openvrml_player::plugin_streambuf::npstream_buffer::npstream_buffer()): + Removed function. + (openvrml_player::plugin_streambuf::npstream_buffer::put(const + char_type &)): Removed function. + (openvrml_player::plugin_streambuf::npstream_buffer::get()): + Removed function. + (openvrml_player::plugin_streambuf::npstream_buffer::buffered() + const): Removed function. + (openvrml_player::plugin_streambuf::npstream_buffer::set_npstream_destroyed()): + Removed function. + (openvrml_player::plugin_streambuf::npstream_buffer::npstream_destroyed() + const): Removed function. + (openvrml_player::plugin_streambuf::plugin_streambuf()): Changed + to call bounded_buffer::eof. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.h + (openvrml_player::plugin_streambuf::npstream_buffer): Removed + class definition. + (openvrml_player::plugin_streambuf::buf_): Changed to use + bounded_buffer. + + 2006-08-03 Braden McDaniel <br...@en...> + Changed bounded_buffer to allow setting EOF. |
From: Braden M. <br...@us...> - 2006-08-03 23:32:56
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv1589/mozilla-plugin/src/openvrml-player Modified Files: player.cpp plugin_streambuf.cpp plugin_streambuf.h Log Message: Reverted plugin_streambuf to use bounded_buffer now that EOF can be set on bounded_buffer. Index: player.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/player.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** player.cpp 2 Aug 2006 15:37:41 -0000 1.28 --- player.cpp 3 Aug 2006 23:32:52 -0000 1.29 *************** *** 108,112 **** continue; } ! pos->second->buf_.set_npstream_destroyed(); plugin_streambuf_map.erase(pos); } else if (command == "write") { --- 108,112 ---- continue; } ! pos->second->buf_.set_eof(); plugin_streambuf_map.erase(pos); } else if (command == "write") { Index: plugin_streambuf.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** plugin_streambuf.cpp 2 Aug 2006 15:37:41 -0000 1.9 --- plugin_streambuf.cpp 3 Aug 2006 23:32:52 -0000 1.10 *************** *** 22,84 **** # include "plugin_streambuf.h" - openvrml_player::plugin_streambuf::npstream_buffer::npstream_buffer(): - begin_(0), - end_(0), - buffered_(0), - npstream_destroyed_(false) - {} - - void - openvrml_player::plugin_streambuf::npstream_buffer::put(const char_type & c) - { - boost::mutex::scoped_lock lock(this->mutex_); - while (this->buffered_ == npstream_buffer::buffer_size) { - this->buffer_not_full_.wait(lock); - } - this->buf_[this->end_] = c; - this->end_ = (this->end_ + 1) % npstream_buffer::buffer_size; - ++this->buffered_; - this->buffer_not_empty_or_eof_.notify_all(); - } - - openvrml_player::plugin_streambuf::int_type - openvrml_player::plugin_streambuf::npstream_buffer::get() - { - boost::mutex::scoped_lock lock(this->mutex_); - while (this->buffered_ == 0 && !this->npstream_destroyed_) { - this->buffer_not_empty_or_eof_.wait(lock); - } - if (this->buffered_ == 0 && this->npstream_destroyed_) { - return traits_type::eof(); - } - const char_type c = this->buf_[this->begin_]; - this->begin_ = (this->begin_ + 1) % npstream_buffer::buffer_size; - --this->buffered_; - this->buffer_not_full_.notify_one(); - const int_type i = traits_type::to_int_type(c); - assert(!traits_type::eq_int_type(i, traits_type::eof())); - return i; - } - - size_t openvrml_player::plugin_streambuf::npstream_buffer::buffered() const - { - boost::mutex::scoped_lock lock(this->mutex_); - return this->buffered_; - } - - void openvrml_player::plugin_streambuf::npstream_buffer::set_npstream_destroyed() - { - boost::mutex::scoped_lock lock(this->mutex_); - this->npstream_destroyed_ = true; - this->buffer_not_empty_or_eof_.notify_all(); - } - - bool - openvrml_player::plugin_streambuf::npstream_buffer::npstream_destroyed() const - { - boost::mutex::scoped_lock lock(this->mutex_); - return this->npstream_destroyed_; - } - openvrml_player::plugin_streambuf:: plugin_streambuf(const std::string & requested_url): --- 22,25 ---- *************** *** 141,145 **** // clients may never get EOF from the stream. // ! return this->buf_.buffered() > 0 || this->buf_.npstream_destroyed(); } --- 82,86 ---- // clients may never get EOF from the stream. // ! return this->buf_.buffered() > 0 || this->buf_.eof(); } Index: plugin_streambuf.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** plugin_streambuf.h 2 Aug 2006 15:37:41 -0000 1.7 --- plugin_streambuf.h 3 Aug 2006 23:32:52 -0000 1.8 *************** *** 39,60 **** friend class command_istream_reader; - class npstream_buffer { - mutable boost::mutex mutex_; - boost::condition buffer_not_full_, buffer_not_empty_or_eof_; - - static const size_t buffer_size = 64; - char_type buf_[buffer_size]; - size_t begin_, end_, buffered_; - bool npstream_destroyed_; - - public: - npstream_buffer(); - void put(const char_type & c); - int_type get(); - size_t buffered() const; - void set_npstream_destroyed(); - bool npstream_destroyed() const; - }; - mutable boost::mutex mutex_; bool initialized_; --- 39,42 ---- *************** *** 62,66 **** std::string url_; std::string type_; ! npstream_buffer buf_; int_type i_; char_type c_; --- 44,48 ---- std::string url_; std::string type_; ! bounded_buffer<char_type, 64> buf_; int_type i_; char_type c_; |
From: Braden M. <br...@us...> - 2006-08-03 23:10:29
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25486/mozilla-plugin/src/openvrml-player Modified Files: bounded_buffer.h command_istream.cpp Log Message: Changed bounded_buffer to allow setting EOF. Index: command_istream.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/command_istream.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** command_istream.cpp 8 Jul 2006 07:00:34 -0000 1.4 --- command_istream.cpp 3 Aug 2006 23:10:25 -0000 1.5 *************** *** 19,26 **** // # include <cerrno> # include "command_istream.h" ! openvrml_player::command_streambuf::command_streambuf() { this->setg(&this->c_, &this->c_, &this->c_); --- 19,28 ---- // + # include <cassert> # include <cerrno> # include "command_istream.h" ! openvrml_player::command_streambuf::command_streambuf(): ! c_('\0') { this->setg(&this->c_, &this->c_, &this->c_); *************** *** 30,38 **** openvrml_player::command_streambuf::underflow() { ! int_type c = traits_type::to_int_type(this->source_buffer_.get()); ! if (c == traits_type::eof()) { return traits_type::eof(); } ! this->c_ = traits_type::to_char_type(c); this->setg(&this->c_, &this->c_, &this->c_ + 1); ! return traits_type::to_int_type(*this->gptr()); } --- 32,42 ---- openvrml_player::command_streambuf::underflow() { ! const int_type i = this->source_buffer_.get(); ! if (traits_type::eq_int_type(i, traits_type::eof())) { ! return traits_type::eof(); ! } ! this->c_ = traits_type::to_char_type(i); this->setg(&this->c_, &this->c_, &this->c_ + 1); ! return i; } *************** *** 67,71 **** } if (status == G_IO_STATUS_EOF) { ! streambuf.source_buffer_.put(traits_type::eof()); return false; } --- 71,75 ---- } if (status == G_IO_STATUS_EOF) { ! streambuf.source_buffer_.set_eof(); return false; } Index: bounded_buffer.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/bounded_buffer.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** bounded_buffer.h 9 Jan 2006 00:21:09 -0000 1.1 --- bounded_buffer.h 3 Aug 2006 23:10:24 -0000 1.2 *************** *** 22,25 **** --- 22,26 ---- # define OPENVRML_PLAYER_BOUNDED_BUFFER_H + # include <string> # include <boost/thread/mutex.hpp> # include <boost/thread/condition.hpp> *************** *** 27,54 **** namespace openvrml_player { ! template <typename T, size_t BufferSize> class bounded_buffer { mutable boost::mutex mutex_; ! boost::condition buffer_not_full_, buffer_not_empty_; ! T buf_[BufferSize]; size_t begin_, end_, buffered_; public: bounded_buffer(); ! void put(const T & c); ! const T get(); size_t buffered() const; }; ! template <typename T, size_t BufferSize> ! bounded_buffer<T, BufferSize>::bounded_buffer(): begin_(0), end_(0), ! buffered_(0) {} ! template <typename T, size_t BufferSize> ! void bounded_buffer<T, BufferSize>::put(const T & c) { boost::mutex::scoped_lock lock(this->mutex_); --- 28,63 ---- namespace openvrml_player { ! template <typename CharT, size_t BufferSize> class bounded_buffer { mutable boost::mutex mutex_; ! boost::condition buffer_not_full_, buffer_not_empty_or_eof_; ! CharT buf_[BufferSize]; size_t begin_, end_, buffered_; + bool eof_; public: + typedef CharT char_type; + typedef typename std::char_traits<char_type> traits_type; + typedef typename traits_type::int_type int_type; + bounded_buffer(); ! void put(const char_type & c); ! int_type get(); size_t buffered() const; + void set_eof(); + bool eof() const; }; ! template <typename CharT, size_t BufferSize> ! bounded_buffer<CharT, BufferSize>::bounded_buffer(): begin_(0), end_(0), ! buffered_(0), ! eof_(false) {} ! template <typename CharT, size_t BufferSize> ! void bounded_buffer<CharT, BufferSize>::put(const char_type & c) { boost::mutex::scoped_lock lock(this->mutex_); *************** *** 59,85 **** this->end_ = (this->end_ + 1) % BufferSize; ++this->buffered_; ! this->buffer_not_empty_.notify_one(); } ! template <typename T, size_t BufferSize> ! const T bounded_buffer<T, BufferSize>::get() { boost::mutex::scoped_lock lock(this->mutex_); ! while (this->buffered_ == 0) { ! this->buffer_not_empty_.wait(lock); } ! T c = this->buf_[this->begin_]; this->begin_ = (this->begin_ + 1) % BufferSize; --this->buffered_; this->buffer_not_full_.notify_one(); return c; } ! template <typename T, size_t BufferSize> ! size_t bounded_buffer<T, BufferSize>::buffered() const { boost::mutex::scoped_lock lock(this->mutex_); return this->buffered_; } } --- 68,114 ---- this->end_ = (this->end_ + 1) % BufferSize; ++this->buffered_; ! this->buffer_not_empty_or_eof_.notify_one(); } ! template <typename CharT, size_t BufferSize> ! typename bounded_buffer<CharT, BufferSize>::int_type ! bounded_buffer<CharT, BufferSize>::get() { boost::mutex::scoped_lock lock(this->mutex_); ! while (this->buffered_ == 0 && !this->eof_) { ! this->buffer_not_empty_or_eof_.wait(lock); } ! if (this->buffered_ == 0 && this->eof_) { ! return traits_type::eof(); ! } ! const int_type c = traits_type::to_int_type(this->buf_[this->begin_]); this->begin_ = (this->begin_ + 1) % BufferSize; --this->buffered_; this->buffer_not_full_.notify_one(); + assert(!traits_type::eq_int_type(c, traits_type::eof())); return c; } ! template <typename CharT, size_t BufferSize> ! size_t bounded_buffer<CharT, BufferSize>::buffered() const { boost::mutex::scoped_lock lock(this->mutex_); return this->buffered_; } + + template <typename CharT, size_t BufferSize> + void bounded_buffer<CharT, BufferSize>::set_eof() + { + boost::mutex::scoped_lock lock(this->mutex_); + this->eof_ = true; + this->buffer_not_empty_or_eof_.notify_one(); + } + + template <typename CharT, size_t BufferSize> + bool bounded_buffer<CharT, BufferSize>::eof() const + { + boost::mutex::scoped_lock lock(this->mutex_); + return this->eof_; + } } |
From: Braden M. <br...@us...> - 2006-08-03 23:10:29
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25486 Modified Files: ChangeLog Log Message: Changed bounded_buffer to allow setting EOF. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1288 retrieving revision 1.1289 diff -C2 -d -r1.1288 -r1.1289 *** ChangeLog 2 Aug 2006 21:06:22 -0000 1.1288 --- ChangeLog 3 Aug 2006 23:10:23 -0000 1.1289 *************** *** 1,2 **** --- 1,38 ---- + 2006-08-03 Braden McDaniel <br...@en...> + + Changed bounded_buffer to allow setting EOF. + + * mozilla-plugin/src/openvrml-player/bounded_buffer.h + (openvrml_player::bounded_buffer::buffer_not_empty_or_eof_): + Changed member name from buffer_not_empty_ to signify that EOF is + a condition of which waiting threads will be notified. + (openvrml_player::bounded_buffer::eof_): Added member. + (openvrml_player::bounded_buffer::char_type): Added member type. + (openvrml_player::bounded_buffer::traits_type): Added member type. + (openvrml_player::bounded_buffer::int_type): Added member type. + (openvrml_player::bounded_buffer::set_eof()): Added member to set + EOF state. + (openvrml_player::bounded_buffer::eof()): Added EOF state + accessor. + (openvrml_player::bounded_buffer::bounded_buffer()): Initialize + eof_ to false. + (openvrml_player::bounded_buffer::get()): Only wait if set_eof has + not been called. Return int_type to accommodate returning EOF. + * mozilla-plugin/src/openvrml-player/command_istream.cpp + (openvrml_player::command_streambuf::command_streambuf()): + Initialize c_ to null. + (openvrml_player::command_streambuf::underflow()): Now that + bounded_buffer::get can actually return EOF, handle it correctly. + (command_data_available(GIOChannel *, GIOCondition, gpointer)): + Call source_buffer_.set_eof rather than trying to put an EOF + character into the stream. + + 2006-08-03 Braden McDaniel <br...@en...> + + * mozilla-plugin/src/openvrml-player/Makefile.am + * mozilla-plugin/src/openvrml-player/bounded_buffer.h + * mozilla-plugin/src/openvrml-player/command_istream.cpp + * mozilla-plugin/src/openvrml-player/command_istream.h + 2006-08-02 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-08-02 21:06:24
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21126/src/libopenvrml/openvrml Modified Files: script.cpp Log Message: Doc-comment improvements. Index: script.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/script.cpp,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** script.cpp 30 Jul 2006 05:52:27 -0000 1.75 --- script.cpp 2 Aug 2006 21:06:22 -0000 1.76 *************** *** 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 *************** *** 80,84 **** * @brief Initialize the Script node. * ! * Delegates to <code>script::do_initialize</code>. * * @param[in] timestamp the current time. --- 80,84 ---- * @brief Initialize the Script node. * ! * Delegates to @c script::do_initialize. * * @param[in] timestamp the current time. *************** *** 101,105 **** * @brief Process an event. * ! * Delegates to <code>script::do_process_event</code>. * * @param[in] id eventIn identifier. --- 101,105 ---- * @brief Process an event. * ! * Delegates to @c script::do_process_event. * * @param[in] id eventIn identifier. *************** *** 120,124 **** * @brief Process an event. * ! * @param[in] id eventIn identifier. * @param[in] value event value. * @param[in] timestamp the current time. --- 120,124 ---- * @brief Process an event. * ! * @param[in] id @c eventIn identifier. * @param[in] value event value. * @param[in] timestamp the current time. *************** *** 128,132 **** * @brief Execute script code after processing events. * ! * Delegates to <code>script::do_events_processed</code>. * * @param[in] timestamp the current time. --- 128,132 ---- * @brief Execute script code after processing events. * ! * Delegates to @c script::do_events_processed. * * @param[in] timestamp the current time. *************** *** 216,221 **** * execution. * ! * @param[in] listener the <code>event_listener</code> to which the event should ! * be sent. * @param[in] value the value to send. * --- 216,221 ---- * execution. * ! * @param[in] listener the @c event_listener to which the event should be ! * sent. * @param[in] value the value to send. * *************** *** 294,300 **** * @class openvrml::script_node_metatype * ! * @brief Class object for <code>script_node</code>s. * ! * There is one script_node_metatype per browser instance. * * @see browser::scriptNodeClass --- 294,300 ---- * @class openvrml::script_node_metatype * ! * @brief Class object for @c script_node%s. * ! * There is one @c script_node_metatype per browser instance. * * @see browser::scriptNodeClass *************** *** 322,326 **** * This method is not implemented because the Script node implementation, * unlike other node implementations, cannot provide the implementation of ! * an @c EXTERNPROTO. It is an error to call this method. */ const boost::shared_ptr<openvrml::node_type> --- 322,326 ---- * This method is not implemented because the Script node implementation, * unlike other node implementations, cannot provide the implementation of ! * an @c EXTERNPROTO. It is an error to call this method. */ const boost::shared_ptr<openvrml::node_type> *************** *** 349,353 **** * @typedef openvrml::script_node::field_value_map_t * ! * @brief A std::map that keys field values on their field name. */ --- 349,353 ---- * @typedef openvrml::script_node::field_value_map_t * ! * @brief A @c std::map that keys field values on their field name. */ *************** *** 355,359 **** * @class openvrml::script_node::eventout * ! * @brief An event_emitter along with the emitted value. */ --- 355,359 ---- * @class openvrml::script_node::eventout * ! * @brief An @c event_emitter along with the emitted value. */ *************** *** 361,365 **** * @var openvrml::script_node & openvrml::script_node::eventout::node_ * ! * @brief The containing script_node. */ --- 361,365 ---- * @var openvrml::script_node & openvrml::script_node::eventout::node_ * ! * @brief The containing @c script_node. */ *************** *** 386,390 **** * * @param[in] type field value type identifier. ! * @param[in] node script_node. * * @exception std::bad_alloc if memory allocation fails. --- 386,390 ---- * * @param[in] type field value type identifier. ! * @param[in] node @c script_node. * * @exception std::bad_alloc if memory allocation fails. *************** *** 400,406 **** /** ! * @brief The value that will be sent from the eventOut. * ! * @return the value that will be sent from the eventOut. */ const openvrml::field_value & openvrml::script_node::eventout::value() const --- 400,406 ---- /** ! * @brief The value that will be sent from the @c eventOut. * ! * @return the value that will be sent from the @c eventOut. */ const openvrml::field_value & openvrml::script_node::eventout::value() const *************** *** 411,418 **** /** ! * @brief Set the value that will be sent from the eventOut. * ! * After calling this function, modified will return @c true until emit_event ! * is called. * * @param[in] val field value. --- 411,418 ---- /** ! * @brief Set the value that will be sent from the @c eventOut. * ! * After calling this function, modified will return @c true until ! * @c emit_event is called. * * @param[in] val field value. *************** *** 445,449 **** * @brief Whether the value has been modified. * ! * @return @c true if the value has been changed since emit_event was last * called; @c false otherwise. */ --- 445,449 ---- * @brief Whether the value has been modified. * ! * @return @c true if the value has been changed since @c emit_event was last * called; @c false otherwise. */ *************** *** 454,460 **** /** ! * @brief The event_emitter associated with the eventout. * ! * @return the event_emitter associated with the eventout. */ openvrml::event_emitter & openvrml::script_node::eventout::emitter() --- 454,460 ---- /** ! * @brief The @c event_emitter associated with the @c eventout. * ! * @return the @c event_emitter associated with the @c eventout. */ openvrml::event_emitter & openvrml::script_node::eventout::emitter() *************** *** 465,472 **** /** ! * @brief Cause the contained event_emitter to emit an event. * * Events should be emitted from Script nodes by calling this function instead ! * of passing the event_emitter directly to node::emit_event. * * @param[in] timestamp the current time. --- 465,472 ---- /** ! * @brief Cause the contained @c event_emitter to emit an event. * * Events should be emitted from Script nodes by calling this function instead ! * of passing the @c event_emitter directly to @c node::emit_event. * * @param[in] timestamp the current time. *************** *** 484,488 **** * @typedef openvrml::script_node::eventout_ptr * ! * @brief Reference-counted smart pointer to an eventout. */ --- 484,488 ---- * @typedef openvrml::script_node::eventout_ptr * ! * @brief Reference-counted smart pointer to an @c eventout. */ *************** *** 490,494 **** * @typedef openvrml::script_node::eventout_map_t * ! * @brief Map of eventout instances. */ --- 490,494 ---- * @typedef openvrml::script_node::eventout_map_t * ! * @brief Map of @c eventout instances. */ *************** *** 498,502 **** * @class openvrml::script_node::script_node_type * ! * @brief Type objects for @link script_node script_nodes@endlink. * * @see script_node::type --- 498,502 ---- * @class openvrml::script_node::script_node_type * ! * @brief Type objects for @c script_node%s. * * @see script_node::type *************** *** 512,516 **** // ! // The order of the node_interfaces in this array is significant. This // range is used with std::set_difference, so the elements *must* be in // lexicographically increasing order according to their "id" member. --- 512,516 ---- // ! // The order of the node_interfaces in this array is significant. This // range is used with std::set_difference, so the elements *must* be in // lexicographically increasing order according to their "id" member. *************** *** 536,540 **** * @brief Construct. * ! * @param[in] class_ the node_metatype for @link script_node script_nodes@endlink. */ openvrml::script_node::script_node_type:: --- 536,540 ---- * @brief Construct. * ! * @param[in] class_ the @c node_metatype for @c script_node%s. */ openvrml::script_node::script_node_type:: *************** *** 561,565 **** * * @exception std::bad_alloc if memory allocation fails. ! * @exception std::invalid_argument if the script_node_type already has an * interface that conflicts with @p interface. */ --- 561,565 ---- * * @exception std::bad_alloc if memory allocation fails. ! * @exception std::invalid_argument if the @c script_node_type already has an * interface that conflicts with @p interface. */ *************** *** 577,583 **** /** ! * @brief Get the interfaces for the node. * ! * @return the interfaces for the node. */ const openvrml::node_interface_set & --- 577,583 ---- /** ! * @brief Get the interfaces for the @c node. * ! * @return the interfaces for the @c node. */ const openvrml::node_interface_set & *************** *** 589,602 **** /** ! * @brief Clone the Script node that has this node_type. * ! * Since the node_type for a script_node is only available once a script_node ! * is instantiated, you have to have a script_node instance in order to be able ! * to use this method. The "primordial" script_node instance must be created ! * with a call to the 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 fields and ! * exposedFields. * * @exception unsupported_interface if @p initial_values specifies a field --- 589,603 ---- /** ! * @brief Clone the Script node that has this @c node_type. * ! * Since the @c node_type for a @c script_node is only available once a ! * @c script_node is instantiated, you have to have a @c script_node instance ! * in order to be able to use this method. The “primordial” ! * @c script_node instance must be created with a call to the ! * @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 *************** *** 680,684 **** * @var const std::string openvrml::script_node::script_event_listener::id * ! * @brief eventIn identifier. */ --- 681,685 ---- * @var const std::string openvrml::script_node::script_event_listener::id * ! * @brief @c eventIn identifier. */ *************** *** 686,691 **** * @brief Construct. * ! * @param[in] id eventIn identifier. ! * @param[in] node script_node. */ template <typename FieldValue> --- 687,692 ---- * @brief Construct. * ! * @param[in] id @c eventIn identifier. ! * @param[in] node @c script_node. */ template <typename FieldValue> *************** *** 707,713 **** /** ! * @brief The associated eventIn identifier. * ! * @return the associated eventIn identifier. */ template <typename FieldValue> --- 708,714 ---- /** ! * @brief The associated @c eventIn identifier. * ! * @return the associated @c eventIn identifier. */ template <typename FieldValue> *************** *** 771,775 **** * @typedef openvrml::script_node::sfcolorrgba_listener * ! * @brief sfcolorrgba event listener. */ --- 772,776 ---- * @typedef openvrml::script_node::sfcolorrgba_listener * ! * @brief @c sfcolorrgba event listener. */ *************** *** 867,871 **** * @typedef openvrml::script_node::mfbool_listener * ! * @brief mfbool event listener. */ --- 868,872 ---- * @typedef openvrml::script_node::mfbool_listener * ! * @brief @c mfbool event listener. */ *************** *** 891,895 **** * @typedef openvrml::script_node::mfcolorrgba_listener * ! * @brief mfcolorrgba event listener. */ --- 892,896 ---- * @typedef openvrml::script_node::mfcolorrgba_listener * ! * @brief @c mfcolorrgba event listener. */ *************** *** 907,911 **** * @typedef openvrml::script_node::mfimage_listener * ! * @brief mfimage event listener. */ --- 908,912 ---- * @typedef openvrml::script_node::mfimage_listener * ! * @brief @c mfimage event listener. */ *************** *** 1112,1118 **** /** ! * @brief The eventOut identifier. * ! * @return the eventOut identifier. */ template <typename FieldValue> --- 1113,1119 ---- /** ! * @brief The @c eventOut identifier. * ! * @return the @c eventOut identifier. */ template <typename FieldValue> *************** *** 1128,1132 **** return pos->first; } ! /** * @internal --- 1129,1133 ---- return pos->first; } ! /** * @internal *************** *** 1168,1172 **** * @brief Create a Script node event emitter. * ! * @param[in] node the containing <code>script_node</code>. * @param[in] value the node field value associated with the emitter. * --- 1169,1173 ---- * @brief Create a Script node event emitter. * ! * @param[in] node the containing @c script_node. * @param[in] value the node field value associated with the emitter. * *************** *** 1194,1198 **** * @class openvrml::script_node::set_url_listener_t * ! * @brief set_url event listener. */ --- 1195,1199 ---- * @class openvrml::script_node::set_url_listener_t * ! * @brief @c set_url event listener. */ *************** *** 1200,1204 **** * @brief Construct. * ! * @param[in] node a reference to the containing script_node. */ openvrml::script_node::set_url_listener_t:: --- 1201,1205 ---- * @brief Construct. * ! * @param[in] node a reference to the containing @c script_node. */ openvrml::script_node::set_url_listener_t:: *************** *** 1215,1221 **** /** ! * @brief Get the eventIn identifier. * ! * @return the eventIn identifier. */ const std::string --- 1216,1222 ---- /** ! * @brief Get the @c eventIn identifier. * ! * @return the @c eventIn identifier. */ const std::string *************** *** 1257,1261 **** * @class openvrml::script_node::url_changed_emitter * ! * @brief url_changed event emitter. */ --- 1258,1262 ---- * @class openvrml::script_node::url_changed_emitter * ! * @brief @c url_changed event emitter. */ *************** *** 3448,3452 **** const openvrml::mfbool & mfbool = *polymorphic_downcast<const openvrml::mfbool *>(&fieldValue); ! if (!MFBool::toJsval(mfbool.value(), this->cx, globalObj, &rval)) { rval = JSVAL_NULL; --- 3449,3453 ---- const openvrml::mfbool & mfbool = *polymorphic_downcast<const openvrml::mfbool *>(&fieldValue); ! if (!MFBool::toJsval(mfbool.value(), this->cx, globalObj, &rval)) { rval = JSVAL_NULL; *************** *** 5427,5431 **** auto_ptr<openvrml::field_value> fieldValue; fieldValue = createFieldValueFromJsval(cx, *vp, expectType); ! assert(JS_GetContextPrivate(cx)); js_::script & script = --- 5428,5432 ---- auto_ptr<openvrml::field_value> fieldValue; fieldValue = createFieldValueFromJsval(cx, *vp, expectType); ! assert(JS_GetContextPrivate(cx)); js_::script & script = |
From: Braden M. <br...@us...> - 2006-08-02 21:06:24
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21126 Modified Files: ChangeLog Log Message: Doc-comment improvements. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1287 retrieving revision 1.1288 diff -C2 -d -r1.1287 -r1.1288 *** ChangeLog 2 Aug 2006 15:37:41 -0000 1.1287 --- ChangeLog 2 Aug 2006 21:06:22 -0000 1.1288 *************** *** 1,4 **** --- 1,8 ---- 2006-08-02 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/script.cpp: Doc-comment improvements. + + 2006-08-02 Braden McDaniel <br...@en...> + Check whether the stream has been destroyed in plugin_streambuf::data_available. The streambuf should be treated |
From: Braden M. <br...@us...> - 2006-08-02 15:37:44
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16241/mozilla-plugin/src/openvrml-player Modified Files: player.cpp plugin_streambuf.cpp plugin_streambuf.h Log Message: Check whether the stream has been destroyed in plugin_streambuf::data_available. The streambuf should be treated as having data available once it has been "destroyed" by the Web browser so that EOF can be gotten from it. Index: player.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/player.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** player.cpp 24 Jul 2006 07:25:00 -0000 1.27 --- player.cpp 2 Aug 2006 15:37:41 -0000 1.28 *************** *** 108,113 **** continue; } ! pos->second->buf_.put(std::char_traits<char>::eof()); ! pos->second->buf_.npstream_destroyed(); plugin_streambuf_map.erase(pos); } else if (command == "write") { --- 108,112 ---- continue; } ! pos->second->buf_.set_npstream_destroyed(); plugin_streambuf_map.erase(pos); } else if (command == "write") { Index: plugin_streambuf.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** plugin_streambuf.cpp 24 Jul 2006 08:01:45 -0000 1.8 --- plugin_streambuf.cpp 2 Aug 2006 15:37:41 -0000 1.9 *************** *** 39,43 **** this->end_ = (this->end_ + 1) % npstream_buffer::buffer_size; ++this->buffered_; ! this->buffer_not_empty_or_eof_.notify_one(); } --- 39,43 ---- this->end_ = (this->end_ + 1) % npstream_buffer::buffer_size; ++this->buffered_; ! this->buffer_not_empty_or_eof_.notify_all(); } *************** *** 67,75 **** } ! void openvrml_player::plugin_streambuf::npstream_buffer::npstream_destroyed() { boost::mutex::scoped_lock lock(this->mutex_); this->npstream_destroyed_ = true; ! this->buffer_not_empty_or_eof_.notify_one(); } --- 67,82 ---- } ! void openvrml_player::plugin_streambuf::npstream_buffer::set_npstream_destroyed() { boost::mutex::scoped_lock lock(this->mutex_); this->npstream_destroyed_ = true; ! this->buffer_not_empty_or_eof_.notify_all(); ! } ! ! bool ! openvrml_player::plugin_streambuf::npstream_buffer::npstream_destroyed() const ! { ! boost::mutex::scoped_lock lock(this->mutex_); ! return this->npstream_destroyed_; } *************** *** 129,133 **** bool openvrml_player::plugin_streambuf::data_available() const { ! return this->buf_.buffered() > 0; } --- 136,145 ---- bool openvrml_player::plugin_streambuf::data_available() const { ! // ! // It may seem a bit counterintuitive to return true here if the stream ! // has been destroyed; however, if we don't return true in this case, ! // clients may never get EOF from the stream. ! // ! return this->buf_.buffered() > 0 || this->buf_.npstream_destroyed(); } Index: plugin_streambuf.h =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/src/openvrml-player/plugin_streambuf.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** plugin_streambuf.h 24 Jul 2006 07:25:00 -0000 1.6 --- plugin_streambuf.h 2 Aug 2006 15:37:41 -0000 1.7 *************** *** 53,57 **** int_type get(); size_t buffered() const; ! void npstream_destroyed(); }; --- 53,58 ---- int_type get(); size_t buffered() const; ! void set_npstream_destroyed(); ! bool npstream_destroyed() const; }; |
From: Braden M. <br...@us...> - 2006-08-02 15:37:44
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16241 Modified Files: ChangeLog Log Message: Check whether the stream has been destroyed in plugin_streambuf::data_available. The streambuf should be treated as having data available once it has been "destroyed" by the Web browser so that EOF can be gotten from it. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1286 retrieving revision 1.1287 diff -C2 -d -r1.1286 -r1.1287 *** ChangeLog 2 Aug 2006 03:20:02 -0000 1.1286 --- ChangeLog 2 Aug 2006 15:37:41 -0000 1.1287 *************** *** 1,2 **** --- 1,28 ---- + 2006-08-02 Braden McDaniel <br...@en...> + + Check whether the stream has been destroyed in + plugin_streambuf::data_available. The streambuf should be treated + as having data available once it has been "destroyed" by the Web + browser so that EOF can be gotten from it. + + * mozilla-plugin/src/openvrml-player/player.cpp + (openvrml_player::command_istream_reader::operator()()): Removed + attempt to put an EOF character into the stream; this won't work. + Changed npstream_destroyed call to set_npstream_destroyed. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp + (openvrml_player::plugin_streambuf::npstream_buffer::put(const + char_type &)): Call buffer_not_empty_or_eof_.notify_all instead of + notify_one. + (openvrml_player::plugin_streambuf::npstream_buffer::set_npstream_destroyed()): + Changed name from npstream_destroyed; call + buffer_not_empty_or_eof_.notify_all instead of notify_one. + (openvrml_player::plugin_streambuf::npstream_buffer::npstream_destroyed() + const): Added accessor function. + (openvrml_player::plugin_streambuf::data_available() const): + return true if the stream has been destroyed. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.h + (openvrml_player::plugin_streambuf::npstream_buffer): Added + accessor to check whether the stream has been destroyed. + 2006-08-01 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-08-02 03:20:19
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17441/src/libopenvrml/openvrml Modified Files: Vrml97Parser.g basetypes.cpp bounding_volume.cpp vrml97node.cpp Log Message: Changed fequal, fless_equal, and fgreater_equal to be instances of types that have a template operator(). Index: basetypes.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/basetypes.cpp,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** basetypes.cpp 14 May 2006 20:42:57 -0000 1.34 --- basetypes.cpp 2 Aug 2006 03:20:02 -0000 1.35 *************** *** 266,270 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 3, &rhs[0], fequal<float>()); } --- 266,270 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 3, &rhs[0], fequal); } *************** *** 485,489 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 4, &rhs[0], fequal<float>()); } --- 485,489 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 4, &rhs[0], fequal); } *************** *** 827,831 **** const float len = this->length(); vec2f result(*this); ! if (!fequal<float>()(len, 0.0)) { result /= len; } return result; } --- 827,831 ---- const float len = this->length(); vec2f result(*this); ! if (!fequal(len, 0.0f)) { result /= len; } return result; } *************** *** 846,850 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 2, &rhs[0], fequal<float>()); } --- 846,850 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 2, &rhs[0], fequal); } *************** *** 1188,1192 **** const double len = this->length(); vec2d result(*this); ! if (!fequal<double>()(len, 0.0)) { result /= len; } return result; } --- 1188,1192 ---- const double len = this->length(); vec2d result(*this); ! if (!fequal(len, 0.0)) { result /= len; } return result; } *************** *** 1207,1211 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 2, &rhs[0], fequal<double>()); } --- 1207,1211 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 2, &rhs[0], fequal); } *************** *** 1679,1683 **** const float len = this->length(); vec3f result(*this); ! if (!fequal<float>()(len, 0.0f)) { result /= len; } return result; } --- 1679,1683 ---- const float len = this->length(); vec3f result(*this); ! if (!fequal(len, 0.0f)) { result /= len; } return result; } *************** *** 1698,1702 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 3, &rhs[0], fequal<float>()); } --- 1698,1702 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 3, &rhs[0], fequal); } *************** *** 2170,2174 **** const double len = this->length(); vec3d result(*this); ! if (!fequal<double>()(len, 0.0f)) { result /= len; } return result; } --- 2170,2174 ---- const double len = this->length(); vec3d result(*this); ! if (!fequal(len, 0.0)) { result /= len; } return result; } *************** *** 2189,2193 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 3, &rhs[0], fequal<double>()); } --- 2189,2193 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 3, &rhs[0], fequal); } *************** *** 2339,2343 **** const float val = float(acos(quat.w())); ! if (fequal<float>()(val, 0.0f)) { this->rot[0] = 0.0; this->rot[1] = 0.0; --- 2339,2343 ---- const float val = float(acos(quat.w())); ! if (fequal(val, 0.0f)) { this->rot[0] = 0.0; this->rot[1] = 0.0; *************** *** 2446,2450 **** using openvrml_::fequal; const float len = float(length_(vec)); ! if (!fequal<float>()(len, 0.0f)) { vec[0] /= len; vec[1] /= len; --- 2446,2450 ---- using openvrml_::fequal; const float len = float(length_(vec)); ! if (!fequal(len, 0.0f)) { vec[0] /= len; vec[1] /= len; *************** *** 2457,2461 **** using openvrml_::fequal; const float axis_length = float(length_(axis)); ! if (fequal<float>()(axis_length, 0.0)) { axis[2] = 1.0; } else { --- 2457,2461 ---- using openvrml_::fequal; const float axis_length = float(length_(axis)); ! if (fequal(axis_length, 0.0f)) { axis[2] = 1.0; } else { *************** *** 2570,2574 **** // double scale0, scale1; ! if (!fequal<double>()(cosom, 0.0)) { const double omega = acos(cosom); const double sinom = sin(omega); --- 2570,2574 ---- // double scale0, scale1; ! if (!fequal(cosom, 0.0)) { const double omega = acos(cosom); const double sinom = sin(omega); *************** *** 2606,2610 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 4, &rhs[0], fequal<float>()); } --- 2606,2610 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 4, &rhs[0], fequal); } *************** *** 2802,2814 **** mat = translation(c) * mat; // M = C * M = C * T } ! if (!fequal<float>()(r.angle(), 0.0f)) { mat = rotation(r) * mat; // M = R * M = R * C * T } if (s != vec3f(1.0, 1.0, 1.0)) { ! if (!fequal<float>()(sr.angle(), 0.0f)) { mat = rotation(sr) * mat; // M = SR * M = SR * R * C * T } mat = scale(s) * mat; // M = S * M = S * SR * R * C * T ! if (!fequal<float>()(sr.angle(), 0.0f)) { // M = -SR * M = -SR * S * SR * R * C * T mat = rotation(sr.inverse()) * mat; --- 2802,2814 ---- mat = translation(c) * mat; // M = C * M = C * T } ! if (!fequal(r.angle(), 0.0f)) { mat = rotation(r) * mat; // M = R * M = R * C * T } if (s != vec3f(1.0, 1.0, 1.0)) { ! if (!fequal(sr.angle(), 0.0f)) { mat = rotation(sr) * mat; // M = SR * M = SR * R * C * T } mat = scale(s) * mat; // M = S * M = S * SR * R * C * T ! if (!fequal(sr.angle(), 0.0f)) { // M = -SR * M = -SR * S * SR * R * C * T mat = rotation(sr.inverse()) * mat; *************** *** 3081,3086 **** // Check if it is singular. // ! assert(!fequal<float>()(this->mat[3][3], 0.0f)); ! if (fequal<float>()(det3(*this, 0, 1, 2, 0, 1, 2), 0.0f)){ OPENVRML_PRINT_MESSAGE_("Warning: matrix is singular."); return; --- 3081,3086 ---- // Check if it is singular. // ! assert(!fequal(this->mat[3][3], 0.0f)); ! if (fequal(det3(*this, 0, 1, 2, 0, 1, 2), 0.0f)){ OPENVRML_PRINT_MESSAGE_("Warning: matrix is singular."); return; *************** *** 3177,3182 **** // Check if it is singular. // ! assert(!fequal<float>()(this->mat[3][3], 0.0f)); ! if (fequal<float>()(det3(*this, 0, 1, 2, 0, 1, 2), 0.0f)){ OPENVRML_PRINT_MESSAGE_("Warning: matrix is singular."); return; --- 3177,3182 ---- // Check if it is singular. // ! assert(!fequal(this->mat[3][3], 0.0f)); ! if (fequal(det3(*this, 0, 1, 2, 0, 1, 2), 0.0f)){ OPENVRML_PRINT_MESSAGE_("Warning: matrix is singular."); return; *************** *** 3478,3483 **** { using openvrml_::fequal; ! return std::equal(&lhs[0][0], &lhs[0][0] + 16, &rhs[0][0], ! fequal<float>()); } --- 3478,3482 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0][0], &lhs[0][0] + 16, &rhs[0][0], fequal); } *************** *** 3591,3595 **** this->quat[i] = s * 0.5f; ! if (!fequal<float>()(s, 0.0f)) { s = 0.5f / s; } this->quat[3] = (mat[j][k] - mat[k][j]) * s; this->quat[j] = (mat[i][j] + mat[j][i]) * s; --- 3590,3594 ---- this->quat[i] = s * 0.5f; ! if (!fequal(s, 0.0f)) { s = 0.5f / s; } this->quat[3] = (mat[j][k] - mat[k][j]) * s; this->quat[j] = (mat[i][j] + mat[j][i]) * s; *************** *** 3605,3613 **** openvrml::quatf::quatf(const rotation & rot) OPENVRML_NOTHROW { ! # ifndef NDEBUG ! using openvrml_::fequal; ! fequal<float> feq; ! # endif ! assert(feq(rot.axis().length(), 1.0)); const float sin_angle = float(sin(rot.angle() / 2.0)); --- 3604,3608 ---- openvrml::quatf::quatf(const rotation & rot) OPENVRML_NOTHROW { ! assert(openvrml_::fequal(rot.axis().length(), 1.0f)); const float sin_angle = float(sin(rot.angle() / 2.0)); *************** *** 3997,4001 **** { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 4, &rhs[0], fequal<float>()); } --- 3992,3996 ---- { using openvrml_::fequal; ! return std::equal(&lhs[0], &lhs[0] + 4, &rhs[0], fequal); } Index: bounding_volume.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/bounding_volume.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** bounding_volume.cpp 25 Feb 2006 08:37:27 -0000 1.14 --- bounding_volume.cpp 2 Aug 2006 03:20:02 -0000 1.15 *************** *** 467,471 **** float dn = float(sqrt(xn * xn + yn * yn + zn * zn)); ! if (fequal<float>()(dn, 0.0f)) { return; } if (dn < r0) { --- 467,471 ---- float dn = float(sqrt(xn * xn + yn * yn + zn * zn)); ! if (fequal(dn, 0.0f)) { return; } if (dn < r0) { *************** *** 543,547 **** float dn = float(sqrt(xn * xn + yn * yn + zn * zn)); ! if (fequal<float>()(dn, 0.0f)) { return; } if (dn + r1 < r0) { // inside us, so no change --- 543,547 ---- float dn = float(sqrt(xn * xn + yn * yn + zn * zn)); ! if (fequal(dn, 0.0f)) { return; } if (dn + r1 < r0) { // inside us, so no change Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.107 retrieving revision 1.108 diff -C2 -d -r1.107 -r1.108 *** vrml97node.cpp 9 Jul 2006 05:25:00 -0000 1.107 --- vrml97node.cpp 2 Aug 2006 03:20:02 -0000 1.108 *************** *** 10199,10203 **** if (cx.length() == 0.0) { return; } rot = radius * float(acos(dir2.dot(dir1))); ! if (fequal<float>()(cx.y(), -1.0f)) { rot = -rot; } if (this->auto_offset_.sfbool::value()) { rot = this->offset_.sffloat::value() + rot; --- 10199,10203 ---- if (cx.length() == 0.0) { return; } rot = radius * float(acos(dir2.dot(dir1))); ! if (fequal(cx.y(), -1.0f)) { rot = -rot; } if (this->auto_offset_.sfbool::value()) { rot = this->offset_.sffloat::value() + rot; *************** *** 16585,16589 **** float alpha, beta; const float dot_product = v1->dot(*v2); ! if (!fequal<float>()(dot_product, 1.0f) && v1->normalize() != v2->normalize()) { // Vectors are not opposite and not coincident. --- 16585,16589 ---- float alpha, beta; const float dot_product = v1->dot(*v2); ! if (!fequal(dot_product, 1.0f) && v1->normalize() != v2->normalize()) { // Vectors are not opposite and not coincident. *************** *** 18955,18967 **** x = MV[3][0]; y = MV[3][1]; z = MV[3][2]; bool inside = ! fless_equal<float>()( ! fabs(x - this->center_.sfvec3f::value().x()), ! 0.5f * this->size_.sfvec3f::value().x()) ! && fless_equal<float>()( ! fabs(y - this->center_.sfvec3f::value().y()), ! 0.5f * this->size_.sfvec3f::value().y()) ! && fless_equal<float>()( ! fabs(z - this->center_.sfvec3f::value().z()), ! 0.5f * this->size_.sfvec3f::value().z()); bool wasIn = this->is_active_.value(); --- 18955,18964 ---- x = MV[3][0]; y = MV[3][1]; z = MV[3][2]; bool inside = ! fless_equal(fabs(x - this->center_.sfvec3f::value().x()), ! 0.5f * this->size_.sfvec3f::value().x()) ! && fless_equal(fabs(y - this->center_.sfvec3f::value().y()), ! 0.5f * this->size_.sfvec3f::value().y()) ! && fless_equal(fabs(z - this->center_.sfvec3f::value().z()), ! 0.5f * this->size_.sfvec3f::value().z()); bool wasIn = this->is_active_.value(); *************** *** 24267,24271 **** // Fraction of cycle message ! node.fraction_changed_.value(float(fequal<double>()(f, 0.0) ? 1.0 : (f / cycleInt))); --- 24264,24268 ---- // Fraction of cycle message ! node.fraction_changed_.value(float(fequal(f, 0.0) ? 1.0 : (f / cycleInt))); *************** *** 24544,24553 **** // Are we done? Choose min of stopTime or start + single cycle. if ((this->stop_time_.sftime::value() > this->start_time_.value() ! && fless_equal<double>()(this->stop_time_.sftime::value(), ! timeNow.value())) || (!this->loop_.sfbool::value() ! && fless_equal<double>()(this->start_time_.value() ! + cycleInt, ! timeNow.value()))) { this->is_active_.value(false); --- 24541,24549 ---- // Are we done? Choose min of stopTime or start + single cycle. if ((this->stop_time_.sftime::value() > this->start_time_.value() ! && fless_equal(this->stop_time_.sftime::value(), ! timeNow.value())) || (!this->loop_.sfbool::value() ! && fless_equal(this->start_time_.value() + cycleInt, ! timeNow.value()))) { this->is_active_.value(false); *************** *** 24568,24575 **** : 0.0; - fequal<double> feq; - // Fraction of cycle message ! this->fraction_changed_.value(feq(f, 0.0) ? 1.0f : float(f / cycleInt)); --- 24564,24569 ---- : 0.0; // Fraction of cycle message ! this->fraction_changed_.value(fequal(f, 0.0) ? 1.0f : float(f / cycleInt)); *************** *** 24582,24586 **** // End of cycle message (this may miss cycles...) ! if (feq(this->fraction_changed_.value(), 1.0)) { this->cycle_time_.value(timeNow.value()); node::emit_event(this->cycle_time_emitter_, --- 24576,24580 ---- // End of cycle message (this may miss cycles...) ! if (fequal(this->fraction_changed_.value(), 1.0f)) { this->cycle_time_.value(timeNow.value()); node::emit_event(this->cycle_time_emitter_, *************** *** 27028,27032 **** this->type().metatype().browser() .active_navigation_info(); ! if (!fequal<float>()(nav_info.visibility_limit(), 0.0f) && xyz[0][2] < -(nav_info.visibility_limit())) { inside = false; --- 27022,27026 ---- this->type().metatype().browser() .active_navigation_info(); ! if (!fequal(nav_info.visibility_limit(), 0.0f) && xyz[0][2] < -(nav_info.visibility_limit())) { inside = false; Index: Vrml97Parser.g =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/Vrml97Parser.g,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** Vrml97Parser.g 28 Jul 2006 07:04:18 -0000 1.67 --- Vrml97Parser.g 2 Aug 2006 03:20:02 -0000 1.68 *************** *** 2060,2067 **** const float axisLength = axis.length(); ! if (!fequal<float>()(axisLength, 1.0f)) { this->reportWarning("axis component of a rotation must be " "a normalized vector"); ! if (fequal<float>()(axisLength, 0.0f)) { axis.z(1.0); } else { --- 2060,2067 ---- const float axisLength = axis.length(); ! if (!fequal(axisLength, 1.0f)) { this->reportWarning("axis component of a rotation must be " "a normalized vector"); ! if (fequal(axisLength, 0.0f)) { axis.z(1.0); } else { |