From c26a05ff9762368c6a4c5bb626316b6bf289a0be Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 17 May 2013 12:31:00 -0700 Subject: [PATCH] disallow copying of VoxelAgentData objects --- voxel-server/src/VoxelAgentData.cpp | 30 ++++++++++------------------- voxel-server/src/VoxelAgentData.h | 9 ++++----- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/voxel-server/src/VoxelAgentData.cpp b/voxel-server/src/VoxelAgentData.cpp index 4eb971f275..e25defef7a 100644 --- a/voxel-server/src/VoxelAgentData.cpp +++ b/voxel-server/src/VoxelAgentData.cpp @@ -11,19 +11,18 @@ #include #include -VoxelAgentData::VoxelAgentData() { - init(); +VoxelAgentData::VoxelAgentData() : + _viewSent(false), + _voxelPacketAvailableBytes(MAX_VOXEL_PACKET_SIZE), + _maxSearchLevel(1), + _maxLevelReachedInLastSearch(1) +{ + _voxelPacket = new unsigned char[MAX_VOXEL_PACKET_SIZE]; + _voxelPacketAt = _voxelPacket; + + resetVoxelPacket(); } -void VoxelAgentData::init() { - _voxelPacket = new unsigned char[MAX_VOXEL_PACKET_SIZE]; - _voxelPacketAvailableBytes = MAX_VOXEL_PACKET_SIZE; - _voxelPacketAt = _voxelPacket; - _maxSearchLevel = 1; - _maxLevelReachedInLastSearch = 1; - resetVoxelPacket(); - _viewSent = false; -} void VoxelAgentData::resetVoxelPacket() { _voxelPacket[0] = getWantColor() ? PACKET_HEADER_VOXEL_DATA : PACKET_HEADER_VOXEL_DATA_MONOCHROME; @@ -43,15 +42,6 @@ VoxelAgentData::~VoxelAgentData() { delete[] _voxelPacket; } -VoxelAgentData::VoxelAgentData(const VoxelAgentData &otherAgentData) { - memcpy(&_position, &otherAgentData._position, sizeof(_position)); - init(); -} - -VoxelAgentData* VoxelAgentData::clone() const { - return new VoxelAgentData(*this); -} - bool VoxelAgentData::updateCurrentViewFrustum() { bool currentViewFrustumChanged = false; ViewFrustum newestViewFrustum; diff --git a/voxel-server/src/VoxelAgentData.h b/voxel-server/src/VoxelAgentData.h index 99be7e6042..fbf5f12d3d 100644 --- a/voxel-server/src/VoxelAgentData.h +++ b/voxel-server/src/VoxelAgentData.h @@ -19,11 +19,7 @@ class VoxelAgentData : public AvatarData { public: VoxelAgentData(); ~VoxelAgentData(); - VoxelAgentData(const VoxelAgentData &otherAgentData); - - VoxelAgentData* clone() const; - void init(); // sets up data internals void resetVoxelPacket(); // resets voxel packet to after "V" header void writeToPacket(unsigned char* buffer, int bytes); // writes to end of packet @@ -52,7 +48,10 @@ public: bool getViewSent() const { return _viewSent; }; void setViewSent(bool viewSent) { _viewSent = viewSent; } -private: +private: + VoxelAgentData(const VoxelAgentData &); + VoxelAgentData& operator= (const VoxelAgentData&); + bool _viewSent; unsigned char* _voxelPacket; unsigned char* _voxelPacketAt;