From eb207efe329969ece56af7df81dff29104677e51 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 14 Jan 2014 16:11:27 -0800 Subject: [PATCH] Adding simple CollisionInfo class as data wrapper and a findSphereCollision() method to AgentData API. --- libraries/avatars/src/AvatarData.cpp | 1 - libraries/avatars/src/AvatarData.h | 7 ++++- libraries/shared/src/CollisionInfo.h | 44 ++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 libraries/shared/src/CollisionInfo.h diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 14115ced47..5963a335ce 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -303,5 +303,4 @@ void AvatarData::setNewScale(float newScale) { newScale = MIN_SCALE; } _newScale = newScale; - qDebug() << "Changed scale to " << _newScale << "\n"; } diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index e7f359aff2..171863810a 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -20,9 +20,10 @@ #include #include +#include #include - #include + #include "HeadData.h" #include "HandData.h" @@ -119,6 +120,10 @@ public: /// \return whether or not the sphere penetrated virtual bool findSpherePenetration(const glm::vec3& penetratorCenter, float penetratorRadius, glm::vec3& penetration, int skeletonSkipIndex = -1) const { return false; } + + virtual bool findSphereCollision(const glm::vec3& sphereCenter, float sphereRadius, CollisionInfo& collision) { + return false; + } protected: QUuid _uuid; diff --git a/libraries/shared/src/CollisionInfo.h b/libraries/shared/src/CollisionInfo.h new file mode 100644 index 0000000000..b9d064f2ea --- /dev/null +++ b/libraries/shared/src/CollisionInfo.h @@ -0,0 +1,44 @@ +// +// CollisionInfo.h +// hifi +// +// Created by Andrew Meadows on 2014.01.13 +// Copyright (c) 2014 High Fidelity, Inc. All rights reserved. +// + +#ifndef __hifi__CollisionInfo__ +#define __hifi__CollisionInfo__ + +/* +#include +#include + +#ifdef _WIN32 +#include "Syssocket.h" +#else +#include +#endif + +#include +#include + +#include "HifiSockAddr.h" +#include "NodeData.h" +#include "SimpleMovingAverage.h" +*/ + +#include + +class CollisionInfo { +public: + CollisionInfo() : _penetration(0.f), _addedVelocity(0.f) { } + ~CollisionInfo() {} + + //glm::vec3 _point; + //glm::vec3 _normal; + glm::vec3 _penetration; + glm::vec3 _addedVelocity; +}; + + +#endif /* defined(__hifi__CollisionInfo__) */