From ca7469549fcecafd1935622ea54593eb8ac8b22a Mon Sep 17 00:00:00 2001 From: Zachary Pavlov Date: Tue, 10 Jul 2007 00:11:13 +0000 Subject: [PATCH] bam data transfer phase_1. No objects in anybodys tree that use this, so its going into the wild! --- panda/src/collide/collisionFloorMesh.cxx | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/panda/src/collide/collisionFloorMesh.cxx b/panda/src/collide/collisionFloorMesh.cxx index fb89939c99..8851600e56 100755 --- a/panda/src/collide/collisionFloorMesh.cxx +++ b/panda/src/collide/collisionFloorMesh.cxx @@ -217,6 +217,16 @@ void CollisionFloorMesh:: write_datagram(BamWriter *manager, Datagram &me) { CollisionSolid::write_datagram(manager, me); + me.add_uint16(_vertices.size()); + for (size_t i = 0; i < _vertices.size(); i++) { + _vertices[i].write_datagram(me); + } + me.add_uint16(_triangles.size()); + for (size_t i = 0; i < _triangles.size(); i++) { + me.add_uint16(_triangles[i].p1); + me.add_uint16(_triangles[i].p2); + me.add_uint16(_triangles[i].p3); + } } //////////////////////////////////////////////////////////////////// @@ -231,6 +241,24 @@ void CollisionFloorMesh:: fillin(DatagramIterator& scan, BamReader* manager) { CollisionSolid::fillin(scan, manager); + + unsigned int num_verts = scan.get_uint16(); + for (size_t i = 0; i < num_verts; i++) { + LPoint3d vert; + vert.read_datagram(scan); + + _vertices.push_back(vert); + } + unsigned int num_tris = scan.get_uint16(); + for (size_t i = 0; i < num_tris; i++) { + CollisionFloorMesh::TriangleIndices tri; + + tri.p1 = scan.get_uint32(); + tri.p2 = scan.get_uint32(); + tri.p3 = scan.get_uint32(); + + _triangles.push_back(tri); + } } ////////////////////////////////////////////////////////////////////