Browse Source

add clear()

David Rose 18 years ago
parent
commit
8c67180085

+ 22 - 22
panda/src/gobj/geomVertexArrayData.I

@@ -365,26 +365,6 @@ get_current_thread() const {
   return _current_thread;
   return _current_thread;
 }
 }
 
 
-////////////////////////////////////////////////////////////////////
-//     Function: GeomVertexArrayDataHandle::get_object
-//       Access: Public
-//  Description:
-////////////////////////////////////////////////////////////////////
-INLINE const GeomVertexArrayData *GeomVertexArrayDataHandle::
-get_object() const {
-  return _object;
-}
-
-////////////////////////////////////////////////////////////////////
-//     Function: GeomVertexArrayDataHandle::get_object
-//       Access: Public
-//  Description:
-////////////////////////////////////////////////////////////////////
-INLINE GeomVertexArrayData *GeomVertexArrayDataHandle::
-get_object() {
-  return _object;
-}
-
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: GeomVertexArrayDataHandle::get_read_pointer
 //     Function: GeomVertexArrayDataHandle::get_read_pointer
 //       Access: Public
 //       Access: Public
@@ -403,9 +383,29 @@ get_read_pointer(bool force) const {
   return _cdata->_buffer.get_read_pointer(force);
   return _cdata->_buffer.get_read_pointer(force);
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: GeomVertexArrayDataHandle::get_object
+//       Access: Published
+//  Description:
+////////////////////////////////////////////////////////////////////
+INLINE const GeomVertexArrayData *GeomVertexArrayDataHandle::
+get_object() const {
+  return _object;
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: GeomVertexArrayDataHandle::get_object
+//       Access: Published
+//  Description:
+////////////////////////////////////////////////////////////////////
+INLINE GeomVertexArrayData *GeomVertexArrayDataHandle::
+get_object() {
+  return _object;
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: GeomVertexArrayDataHandle::get_array_format
 //     Function: GeomVertexArrayDataHandle::get_array_format
-//       Access: Public
+//       Access: Published
 //  Description: 
 //  Description: 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 INLINE const GeomVertexArrayFormat *GeomVertexArrayDataHandle::
 INLINE const GeomVertexArrayFormat *GeomVertexArrayDataHandle::
@@ -415,7 +415,7 @@ get_array_format() const {
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: GeomVertexArrayDataHandle::get_usage_hint
 //     Function: GeomVertexArrayDataHandle::get_usage_hint
-//       Access: Public
+//       Access: Published
 //  Description: 
 //  Description: 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 INLINE GeomVertexArrayDataHandle::UsageHint GeomVertexArrayDataHandle::
 INLINE GeomVertexArrayDataHandle::UsageHint GeomVertexArrayDataHandle::

+ 3 - 2
panda/src/gobj/geomVertexArrayData.h

@@ -257,13 +257,14 @@ public:
   ALLOC_DELETED_CHAIN_DECL(GeomVertexArrayDataHandle);
   ALLOC_DELETED_CHAIN_DECL(GeomVertexArrayDataHandle);
 
 
   INLINE Thread *get_current_thread() const;
   INLINE Thread *get_current_thread() const;
-  INLINE const GeomVertexArrayData *get_object() const;
-  INLINE GeomVertexArrayData *get_object();
 
 
   INLINE const unsigned char *get_read_pointer(bool force) const;
   INLINE const unsigned char *get_read_pointer(bool force) const;
   unsigned char *get_write_pointer();
   unsigned char *get_write_pointer();
 
 
 PUBLISHED:
 PUBLISHED:
+  INLINE const GeomVertexArrayData *get_object() const;
+  INLINE GeomVertexArrayData *get_object();
+
   INLINE const GeomVertexArrayFormat *get_array_format() const;
   INLINE const GeomVertexArrayFormat *get_array_format() const;
   INLINE UsageHint get_usage_hint() const;
   INLINE UsageHint get_usage_hint() const;
 
 

+ 10 - 0
panda/src/gobj/geomVertexReader.I

@@ -295,6 +295,16 @@ set_column(const InternalName *name) {
   return false;
   return false;
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: GeomVertexReader::clear
+//       Access: Published
+//  Description: Resets the GeomVertexReader to the initial state.
+////////////////////////////////////////////////////////////////////
+INLINE void GeomVertexReader::
+clear() {
+  (*this) = GeomVertexReader(_current_thread);
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: GeomVertexReader::has_column
 //     Function: GeomVertexReader::has_column
 //       Access: Published
 //       Access: Published

+ 1 - 0
panda/src/gobj/geomVertexReader.h

@@ -92,6 +92,7 @@ PUBLISHED:
   INLINE bool set_column(const InternalName *name);
   INLINE bool set_column(const InternalName *name);
   bool set_column(int array, const GeomVertexColumn *column);
   bool set_column(int array, const GeomVertexColumn *column);
 
 
+  INLINE void clear();
   INLINE bool has_column() const;
   INLINE bool has_column() const;
   INLINE int get_array() const;
   INLINE int get_array() const;
   INLINE const GeomVertexColumn *get_column() const;
   INLINE const GeomVertexColumn *get_column() const;

+ 11 - 0
panda/src/gobj/geomVertexRewriter.I

@@ -248,6 +248,17 @@ set_column(int array, const GeomVertexColumn *column) {
   return GeomVertexReader::set_column(array, column);
   return GeomVertexReader::set_column(array, column);
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: GeomVertexRewriter::clear
+//       Access: Published
+//  Description: Resets the GeomVertexRewriter to the initial state.
+////////////////////////////////////////////////////////////////////
+INLINE void GeomVertexRewriter::
+clear() {
+  GeomVertexWriter::clear();
+  GeomVertexReader::clear();
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: GeomVertexRewriter::has_column
 //     Function: GeomVertexRewriter::has_column
 //       Access: Published
 //       Access: Published

+ 1 - 0
panda/src/gobj/geomVertexRewriter.h

@@ -63,6 +63,7 @@ PUBLISHED:
   INLINE bool set_column(const InternalName *name);
   INLINE bool set_column(const InternalName *name);
   INLINE bool set_column(int array, const GeomVertexColumn *column);
   INLINE bool set_column(int array, const GeomVertexColumn *column);
 
 
+  INLINE void clear();
   INLINE bool has_column() const;
   INLINE bool has_column() const;
   INLINE int get_array() const;
   INLINE int get_array() const;
   INLINE const GeomVertexColumn *get_column() const;
   INLINE const GeomVertexColumn *get_column() const;

+ 10 - 0
panda/src/gobj/geomVertexWriter.I

@@ -292,6 +292,16 @@ set_column(const InternalName *name) {
   return false;
   return false;
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: GeomVertexWriter::clear
+//       Access: Published
+//  Description: Resets the GeomVertexWriter to the initial state.
+////////////////////////////////////////////////////////////////////
+INLINE void GeomVertexWriter::
+clear() {
+  (*this) = GeomVertexWriter(_current_thread);
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: GeomVertexWriter::has_column
 //     Function: GeomVertexWriter::has_column
 //       Access: Published
 //       Access: Published

+ 1 - 0
panda/src/gobj/geomVertexWriter.h

@@ -104,6 +104,7 @@ PUBLISHED:
   INLINE bool set_column(const string &name);
   INLINE bool set_column(const string &name);
   INLINE bool set_column(const InternalName *name);
   INLINE bool set_column(const InternalName *name);
   bool set_column(int array, const GeomVertexColumn *column);
   bool set_column(int array, const GeomVertexColumn *column);
+  INLINE void clear();
 
 
   INLINE bool has_column() const;
   INLINE bool has_column() const;
   INLINE int get_array() const;
   INLINE int get_array() const;