From 36892da4886e6af73be827a256564928e79a5f03 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 24 May 2013 11:24:21 -0700 Subject: [PATCH 1/4] keep a pointer to owning agent in AgentData --- avatar-mixer/src/main.cpp | 2 +- eve/src/main.cpp | 4 ++-- interface/src/Application.cpp | 6 +++--- interface/src/Avatar.cpp | 3 ++- interface/src/Avatar.h | 2 +- interface/src/VoxelSystem.cpp | 2 +- libraries/audio/src/AudioRingBuffer.cpp | 3 ++- libraries/avatars/src/AvatarData.cpp | 3 ++- libraries/avatars/src/AvatarData.h | 2 +- libraries/shared/src/AgentData.cpp | 6 ++++++ libraries/shared/src/AgentData.h | 7 ++++++- voxel-server/src/VoxelAgentData.cpp | 1 + 12 files changed, 28 insertions(+), 13 deletions(-) diff --git a/avatar-mixer/src/main.cpp b/avatar-mixer/src/main.cpp index da2b41b1bd..0e838833f4 100644 --- a/avatar-mixer/src/main.cpp +++ b/avatar-mixer/src/main.cpp @@ -47,7 +47,7 @@ unsigned char *addAgentToBroadcastPacket(unsigned char *currentPosition, Agent * void attachAvatarDataToAgent(Agent *newAgent) { if (newAgent->getLinkedData() == NULL) { - newAgent->setLinkedData(new AvatarData()); + newAgent->setLinkedData(new AvatarData(newAgent)); } } diff --git a/eve/src/main.cpp b/eve/src/main.cpp index 62be6e36cd..92355970c6 100644 --- a/eve/src/main.cpp +++ b/eve/src/main.cpp @@ -71,7 +71,7 @@ void *receiveAgentData(void *args) { void createAvatarDataForAgent(Agent* agent) { if (!agent->getLinkedData()) { - agent->setLinkedData(new AvatarData()); + agent->setLinkedData(new AvatarData(agent)); } } @@ -95,7 +95,7 @@ int main(int argc, const char* argv[]) { pthread_create(&receiveAgentDataThread, NULL, receiveAgentData, NULL); // create an AvatarData object, "eve" - AvatarData eve; + AvatarData eve(NULL); // move eve away from the origin // pick a random point inside a 10x10 grid diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 37b8cf31b6..80690e162a 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -128,7 +128,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _viewFrustumOffsetDistance(25.0), _viewFrustumOffsetUp(0.0), _audioScope(256, 200, true), - _myAvatar(true), + _myAvatar(NULL, true), _manualFirstPerson(false), _mouseX(0), _mouseY(0), @@ -2098,9 +2098,9 @@ QAction* Application::checkedVoxelModeAction() const { return 0; } -void Application::attachNewHeadToAgent(Agent *newAgent) { +void Application::attachNewHeadToAgent(Agent* newAgent) { if (newAgent->getLinkedData() == NULL) { - newAgent->setLinkedData(new Avatar(false)); + newAgent->setLinkedData(new Avatar(newAgent, false)); } } diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index bdfd7c8691..de93fd859c 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -69,7 +69,8 @@ bool usingBigSphereCollisionTest = true; float chatMessageScale = 0.0015; float chatMessageHeight = 0.10; -Avatar::Avatar(bool isMine) : +Avatar::Avatar(Agent* owningAgent, bool isMine) : + AvatarData(owningAgent), _isMine(isMine), _TEST_bigSphereRadius(0.4f), _TEST_bigSpherePosition(5.0f, _TEST_bigSphereRadius, 5.0f), diff --git a/interface/src/Avatar.h b/interface/src/Avatar.h index 59f9018af3..a5f1531417 100644 --- a/interface/src/Avatar.h +++ b/interface/src/Avatar.h @@ -76,7 +76,7 @@ enum AvatarJointID class Avatar : public AvatarData { public: - Avatar(bool isMine); + Avatar(Agent* owningAgent, bool isMine); ~Avatar(); void reset(); diff --git a/interface/src/VoxelSystem.cpp b/interface/src/VoxelSystem.cpp index 026f1dd4ee..68707355bb 100644 --- a/interface/src/VoxelSystem.cpp +++ b/interface/src/VoxelSystem.cpp @@ -44,7 +44,7 @@ GLubyte identityIndices[] = { 0,2,1, 0,3,2, // Z- . 10,11,15, 10,15,14, // Y+ 4,5,6, 4,6,7 }; // Z+ . -VoxelSystem::VoxelSystem() { +VoxelSystem::VoxelSystem() : AgentData(NULL) { _voxelsInReadArrays = _voxelsInWriteArrays = _voxelsUpdated = 0; _writeRenderFullVBO = true; _readRenderFullVBO = true; diff --git a/libraries/audio/src/AudioRingBuffer.cpp b/libraries/audio/src/AudioRingBuffer.cpp index 59b35b18a3..ee693ebde3 100644 --- a/libraries/audio/src/AudioRingBuffer.cpp +++ b/libraries/audio/src/AudioRingBuffer.cpp @@ -13,6 +13,7 @@ #include "AudioRingBuffer.h" AudioRingBuffer::AudioRingBuffer(int ringSamples, int bufferSamples) : + AgentData(NULL), _ringBufferLengthSamples(ringSamples), _bufferLengthSamples(bufferSamples), _endOfLastWrite(NULL), @@ -20,7 +21,7 @@ AudioRingBuffer::AudioRingBuffer(int ringSamples, int bufferSamples) : _shouldBeAddedToMix(false), _shouldLoopbackForAgent(false), _streamIdentifier() -{ +{ _buffer = new int16_t[_ringBufferLengthSamples]; _nextOutput = _buffer; }; diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index ab69c28dd0..c660e55347 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -31,7 +31,8 @@ int unpackFloatAngleFromTwoByte(uint16_t* byteAnglePointer, float* destinationPo return sizeof(uint16_t); } -AvatarData::AvatarData() : +AvatarData::AvatarData(Agent* owningAgent) : + AgentData(owningAgent), _handPosition(0,0,0), _bodyYaw(-90.0), _bodyPitch(0.0), diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 3e3536c3a9..b1582cf9f8 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -29,7 +29,7 @@ enum KeyState class AvatarData : public AgentData { public: - AvatarData(); + AvatarData(Agent* owningAgent); ~AvatarData(); const glm::vec3& getPosition() const { return _position; } diff --git a/libraries/shared/src/AgentData.cpp b/libraries/shared/src/AgentData.cpp index f4710246d7..c910a9c43f 100644 --- a/libraries/shared/src/AgentData.cpp +++ b/libraries/shared/src/AgentData.cpp @@ -8,4 +8,10 @@ #include "AgentData.h" +AgentData::AgentData(Agent* owningAgent) : + _owningAgent(owningAgent) +{ + +} + AgentData::~AgentData() {} \ No newline at end of file diff --git a/libraries/shared/src/AgentData.h b/libraries/shared/src/AgentData.h index 342f501a1e..99cdbaca95 100644 --- a/libraries/shared/src/AgentData.h +++ b/libraries/shared/src/AgentData.h @@ -3,16 +3,21 @@ // hifi // // Created by Stephen Birarda on 2/19/13. -// +// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. // #ifndef hifi_AgentData_h #define hifi_AgentData_h +class Agent; + class AgentData { public: + AgentData(Agent* owningAgent); virtual ~AgentData() = 0; virtual int parseData(unsigned char* sourceBuffer, int numBytes) = 0; +private: + Agent* _owningAgent; }; #endif diff --git a/voxel-server/src/VoxelAgentData.cpp b/voxel-server/src/VoxelAgentData.cpp index e25defef7a..a017881301 100644 --- a/voxel-server/src/VoxelAgentData.cpp +++ b/voxel-server/src/VoxelAgentData.cpp @@ -12,6 +12,7 @@ #include VoxelAgentData::VoxelAgentData() : + AvatarData(NULL), _viewSent(false), _voxelPacketAvailableBytes(MAX_VOXEL_PACKET_SIZE), _maxSearchLevel(1), From 49b483ef53a38a3aa2b8427f7b441a428138ec28 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 24 May 2013 11:29:49 -0700 Subject: [PATCH 2/4] maintain a pointer to owning avatar from HeadData --- interface/src/Avatar.cpp | 1 + interface/src/Head.cpp | 4 ++-- interface/src/Head.h | 4 +++- libraries/avatars/src/AvatarData.cpp | 4 ++-- libraries/avatars/src/HeadData.cpp | 5 +++-- libraries/avatars/src/HeadData.h | 5 ++++- 6 files changed, 15 insertions(+), 8 deletions(-) diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index de93fd859c..125ef979bb 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -71,6 +71,7 @@ float chatMessageHeight = 0.10; Avatar::Avatar(Agent* owningAgent, bool isMine) : AvatarData(owningAgent), + _head(this), _isMine(isMine), _TEST_bigSphereRadius(0.4f), _TEST_bigSpherePosition(5.0f, _TEST_bigSphereRadius, 5.0f), diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index cc628a448f..0d891cf0e6 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -30,8 +30,8 @@ unsigned int IRIS_TEXTURE_WIDTH = 768; unsigned int IRIS_TEXTURE_HEIGHT = 498; vector irisTexture; -Head::Head() : - +Head::Head(Avatar* owningAvatar) : + HeadData((AvatarData*)owningAvatar), yawRate(0.0f), _returnHeadToCenter(false), _audioLoudness(0.0f), diff --git a/interface/src/Head.h b/interface/src/Head.h index 3b97361e3f..c20ce0e255 100644 --- a/interface/src/Head.h +++ b/interface/src/Head.h @@ -24,9 +24,11 @@ enum eyeContactTargets MOUTH }; +class Avatar; + class Head : public HeadData { public: - Head(); + Head(Avatar* owningAvatar); void reset(); void simulate(float deltaTime, bool isMine); diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index c660e55347..4b97a2a047 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -68,7 +68,7 @@ int AvatarData::getBroadcastData(unsigned char* destinationBuffer) { // lazily allocate memory for HeadData in case we're not an Avatar instance if (!_headData) { - _headData = new HeadData(); + _headData = new HeadData(this); } // Body world position @@ -149,7 +149,7 @@ int AvatarData::parseData(unsigned char* sourceBuffer, int numBytes) { // lazily allocate memory for HeadData in case we're not an Avatar instance if (!_headData) { - _headData = new HeadData(); + _headData = new HeadData(this); } // increment to push past the packet header diff --git a/libraries/avatars/src/HeadData.cpp b/libraries/avatars/src/HeadData.cpp index 9c01346152..906e10e48f 100644 --- a/libraries/avatars/src/HeadData.cpp +++ b/libraries/avatars/src/HeadData.cpp @@ -8,13 +8,14 @@ #include "HeadData.h" -HeadData::HeadData() : +HeadData::HeadData(AvatarData* owningAvatar) : _yaw(0.0f), _pitch(0.0f), _roll(0.0f), _lookAtPosition(0.0f, 0.0f, 0.0f), _leanSideways(0.0f), - _leanForward(0.0f) + _leanForward(0.0f), + _owningAvatar(owningAvatar) { } diff --git a/libraries/avatars/src/HeadData.h b/libraries/avatars/src/HeadData.h index fb16fea00e..1f0a8181b5 100644 --- a/libraries/avatars/src/HeadData.h +++ b/libraries/avatars/src/HeadData.h @@ -20,9 +20,11 @@ const float MAX_HEAD_PITCH = 60; const float MIN_HEAD_ROLL = -50; const float MAX_HEAD_ROLL = 50; +class AvatarData; + class HeadData { public: - HeadData(); + HeadData(AvatarData* owningAvatar); float getLeanSideways() const { return _leanSideways; } void setLeanSideways(float leanSideways) { _leanSideways = leanSideways; } @@ -55,6 +57,7 @@ protected: glm::vec3 _lookAtPosition; float _leanSideways; float _leanForward; + AvatarData* _owningAvatar; private: // privatize copy ctor and assignment operator so copies of this object cannot be made HeadData(const HeadData&); From eb25fd3b4648dad9ba197feb9ea87cd1889d7e04 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 24 May 2013 11:32:17 -0700 Subject: [PATCH 3/4] pass the owning agent for VoxelAgentData constructor --- voxel-server/src/VoxelAgentData.cpp | 4 ++-- voxel-server/src/VoxelAgentData.h | 2 +- voxel-server/src/main.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/voxel-server/src/VoxelAgentData.cpp b/voxel-server/src/VoxelAgentData.cpp index a017881301..07d19a7fb2 100644 --- a/voxel-server/src/VoxelAgentData.cpp +++ b/voxel-server/src/VoxelAgentData.cpp @@ -11,8 +11,8 @@ #include #include -VoxelAgentData::VoxelAgentData() : - AvatarData(NULL), +VoxelAgentData::VoxelAgentData(Agent* owningAgent) : + AvatarData(owningAgent), _viewSent(false), _voxelPacketAvailableBytes(MAX_VOXEL_PACKET_SIZE), _maxSearchLevel(1), diff --git a/voxel-server/src/VoxelAgentData.h b/voxel-server/src/VoxelAgentData.h index fbf5f12d3d..2afc64a6c8 100644 --- a/voxel-server/src/VoxelAgentData.h +++ b/voxel-server/src/VoxelAgentData.h @@ -17,7 +17,7 @@ class VoxelAgentData : public AvatarData { public: - VoxelAgentData(); + VoxelAgentData(Agent* owningAgent); ~VoxelAgentData(); void resetVoxelPacket(); // resets voxel packet to after "V" header diff --git a/voxel-server/src/main.cpp b/voxel-server/src/main.cpp index 4e5f931477..e2ffda0a0a 100644 --- a/voxel-server/src/main.cpp +++ b/voxel-server/src/main.cpp @@ -450,9 +450,9 @@ void *distributeVoxelsToListeners(void *args) { pthread_exit(0); } -void attachVoxelAgentDataToAgent(Agent *newAgent) { +void attachVoxelAgentDataToAgent(Agent* newAgent) { if (newAgent->getLinkedData() == NULL) { - newAgent->setLinkedData(new VoxelAgentData()); + newAgent->setLinkedData(new VoxelAgentData(newAgent)); } } From 59a6016f4b2529ace072e4ee0dd9cb9de9198874 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 24 May 2013 11:49:22 -0700 Subject: [PATCH 4/4] use a NULL default for owningAvatar to simplify constructors --- avatar-mixer/src/main.cpp | 2 +- eve/src/main.cpp | 2 +- interface/src/Application.cpp | 3 +-- interface/src/Avatar.cpp | 35 +++++++++++++++--------------- interface/src/Avatar.h | 3 +-- libraries/avatars/src/AvatarData.h | 4 ++-- libraries/shared/src/AgentData.h | 2 +- 7 files changed, 24 insertions(+), 27 deletions(-) diff --git a/avatar-mixer/src/main.cpp b/avatar-mixer/src/main.cpp index 0e838833f4..eca698e673 100644 --- a/avatar-mixer/src/main.cpp +++ b/avatar-mixer/src/main.cpp @@ -45,7 +45,7 @@ unsigned char *addAgentToBroadcastPacket(unsigned char *currentPosition, Agent * return currentPosition; } -void attachAvatarDataToAgent(Agent *newAgent) { +void attachAvatarDataToAgent(Agent* newAgent) { if (newAgent->getLinkedData() == NULL) { newAgent->setLinkedData(new AvatarData(newAgent)); } diff --git a/eve/src/main.cpp b/eve/src/main.cpp index 92355970c6..bf32474b33 100644 --- a/eve/src/main.cpp +++ b/eve/src/main.cpp @@ -95,7 +95,7 @@ int main(int argc, const char* argv[]) { pthread_create(&receiveAgentDataThread, NULL, receiveAgentData, NULL); // create an AvatarData object, "eve" - AvatarData eve(NULL); + AvatarData eve; // move eve away from the origin // pick a random point inside a 10x10 grid diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 80690e162a..990ca2aeff 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -128,7 +128,6 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : _viewFrustumOffsetDistance(25.0), _viewFrustumOffsetUp(0.0), _audioScope(256, 200, true), - _myAvatar(NULL, true), _manualFirstPerson(false), _mouseX(0), _mouseY(0), @@ -2100,7 +2099,7 @@ QAction* Application::checkedVoxelModeAction() const { void Application::attachNewHeadToAgent(Agent* newAgent) { if (newAgent->getLinkedData() == NULL) { - newAgent->setLinkedData(new Avatar(newAgent, false)); + newAgent->setLinkedData(new Avatar(newAgent)); } } diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index 125ef979bb..83a3508b0d 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -69,10 +69,9 @@ bool usingBigSphereCollisionTest = true; float chatMessageScale = 0.0015; float chatMessageHeight = 0.10; -Avatar::Avatar(Agent* owningAgent, bool isMine) : +Avatar::Avatar(Agent* owningAgent) : AvatarData(owningAgent), _head(this), - _isMine(isMine), _TEST_bigSphereRadius(0.4f), _TEST_bigSpherePosition(5.0f, _TEST_bigSphereRadius, 5.0f), _mousePressed(false), @@ -231,7 +230,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { updateSkeleton(); //detect and respond to collisions with other avatars... - if (_isMine) { + if (!_owningAgent) { updateAvatarCollisions(deltaTime); } @@ -241,7 +240,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { _avatarTouch.simulate(deltaTime); // apply gravity and collision with the ground/floor - if (_isMine && USING_AVATAR_GRAVITY) { + if (!_owningAgent && USING_AVATAR_GRAVITY) { _velocity += _gravity * (GRAVITY_SCALE * deltaTime); updateCollisionWithEnvironment(); @@ -256,12 +255,12 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { } // collision response with voxels - if (_isMine) { + if (!_owningAgent) { updateCollisionWithVoxels(); } // driving the avatar around should only apply if this is my avatar (as opposed to an avatar being driven remotely) - if (_isMine) { + if (!_owningAgent) { _thrust = glm::vec3(0.0f, 0.0f, 0.0f); @@ -306,7 +305,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { } // update body yaw by body yaw delta - if (_isMine) { + if (!_owningAgent) { _bodyPitch += _bodyPitchDelta * deltaTime; _bodyYaw += _bodyYawDelta * deltaTime; _bodyRoll += _bodyRollDelta * deltaTime; @@ -367,7 +366,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { } // If another avatar is near, dampen velocity as a function of closeness - if (_isMine && (_distanceToNearestAvatar < PERIPERSONAL_RADIUS)) { + if (!_owningAgent && (_distanceToNearestAvatar < PERIPERSONAL_RADIUS)) { float closeness = 1.0f - (_distanceToNearestAvatar / PERIPERSONAL_RADIUS); float drag = 1.0f - closeness * AVATAR_BRAKING_STRENGTH * deltaTime; if ( drag > 0.0f ) { @@ -416,7 +415,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { } // set head lookat position - if (_isMine) { + if (!_owningAgent) { if (_interactingOther) { _head.setLookAtPosition(_interactingOther->caclulateAverageEyePosition()); } else { @@ -429,7 +428,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { _head.setScale (_joint[ AVATAR_JOINT_HEAD_BASE ].radius); _head.setAudioLoudness(_audioLoudness); _head.setSkinColor(glm::vec3(skinColor[0], skinColor[1], skinColor[2])); - _head.simulate(deltaTime, _isMine); + _head.simulate(deltaTime, !_owningAgent); // use speed and angular velocity to determine walking vs. standing if (_speed + fabs(_bodyYawDelta) > 0.2) { @@ -468,7 +467,7 @@ void Avatar::updateHandMovementAndTouching(float deltaTime) { _joint[ AVATAR_JOINT_RIGHT_FINGERTIPS ].position += transformedHandMovement; - if (_isMine) { + if (!_owningAgent) { _avatarTouch.setMyBodyPosition(_position); float closestDistance = std::numeric_limits::max(); @@ -560,7 +559,7 @@ void Avatar::updateHandMovementAndTouching(float deltaTime) { updateArmIKAndConstraints(deltaTime); //Set right hand position and state to be transmitted, and also tell AvatarTouch about it - if (_isMine) { + if (!_owningAgent) { setHandPosition(_joint[ AVATAR_JOINT_RIGHT_FINGERTIPS ].position); if (_mousePressed) { @@ -729,7 +728,7 @@ void Avatar::setGravity(glm::vec3 gravity) { void Avatar::render(bool lookingInMirror) { - if (_isMine && usingBigSphereCollisionTest) { + if (!_owningAgent && usingBigSphereCollisionTest) { // show TEST big sphere glColor4f(0.5f, 0.6f, 0.8f, 0.7); glPushMatrix(); @@ -746,7 +745,7 @@ void Avatar::render(bool lookingInMirror) { renderBody(lookingInMirror); // if this is my avatar, then render my interactions with the other avatar - if (_isMine) { + if (!_owningAgent) { _avatarTouch.render(getCameraPosition()); } @@ -1001,7 +1000,7 @@ void Avatar::updateSkeleton() { } // if this is not my avatar, then hand position comes from transmitted data - if (! _isMine) { + if (_owningAgent) { _joint[ AVATAR_JOINT_RIGHT_FINGERTIPS ].position = _handPosition; } @@ -1137,12 +1136,12 @@ void Avatar::renderBody(bool lookingInMirror) { float distanceToCamera = glm::length(getCameraPosition() - _joint[b].position); // Always render other people, and render myself when beyond threshold distance if (b == AVATAR_JOINT_HEAD_BASE) { // the head is rendered as a special case - if (lookingInMirror || !_isMine || distanceToCamera > RENDER_OPAQUE_BEYOND) { + if (lookingInMirror || _owningAgent || distanceToCamera > RENDER_OPAQUE_BEYOND) { _head.render(lookingInMirror); } - } else if (!_isMine || distanceToCamera > RENDER_TRANSLUCENT_BEYOND) { + } else if (_owningAgent || distanceToCamera > RENDER_TRANSLUCENT_BEYOND) { // Render the sphere at the joint - if (!_isMine) { + if (_owningAgent) { glColor3f(skinColor[0] + _joint[b].touchForce * 0.3f, skinColor[1] - _joint[b].touchForce * 0.2f, skinColor[2] - _joint[b].touchForce * 0.1f); diff --git a/interface/src/Avatar.h b/interface/src/Avatar.h index a5f1531417..6d27eed22b 100644 --- a/interface/src/Avatar.h +++ b/interface/src/Avatar.h @@ -76,7 +76,7 @@ enum AvatarJointID class Avatar : public AvatarData { public: - Avatar(Agent* owningAgent, bool isMine); + Avatar(Agent* owningAgent = NULL); ~Avatar(); void reset(); @@ -151,7 +151,6 @@ private: }; Head _head; - bool _isMine; float _TEST_bigSphereRadius; glm::vec3 _TEST_bigSpherePosition; bool _mousePressed; diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index b1582cf9f8..5773dedffd 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -22,14 +22,14 @@ const int WANT_DELTA_AT_BIT = 2; enum KeyState { - NO_KEY_DOWN, + NO_KEY_DOWN, INSERT_KEY_DOWN, DELETE_KEY_DOWN }; class AvatarData : public AgentData { public: - AvatarData(Agent* owningAgent); + AvatarData(Agent* owningAgent = NULL); ~AvatarData(); const glm::vec3& getPosition() const { return _position; } diff --git a/libraries/shared/src/AgentData.h b/libraries/shared/src/AgentData.h index 99cdbaca95..7253d85e59 100644 --- a/libraries/shared/src/AgentData.h +++ b/libraries/shared/src/AgentData.h @@ -16,7 +16,7 @@ public: AgentData(Agent* owningAgent); virtual ~AgentData() = 0; virtual int parseData(unsigned char* sourceBuffer, int numBytes) = 0; -private: +protected: Agent* _owningAgent; };