mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 19:59:28 +02:00
remove grid entity files
This commit is contained in:
parent
3ce6f7f3d6
commit
98f9dc0ca4
9 changed files with 0 additions and 309 deletions
|
@ -26,7 +26,6 @@
|
||||||
#include "RenderableZoneEntityItem.h"
|
#include "RenderableZoneEntityItem.h"
|
||||||
#include "RenderableMaterialEntityItem.h"
|
#include "RenderableMaterialEntityItem.h"
|
||||||
#include "RenderableImageEntityItem.h"
|
#include "RenderableImageEntityItem.h"
|
||||||
#include "RenderableGridEntityItem.h"
|
|
||||||
|
|
||||||
|
|
||||||
using namespace render;
|
using namespace render;
|
||||||
|
@ -257,10 +256,6 @@ EntityRenderer::Pointer EntityRenderer::addToScene(EntityTreeRenderer& renderer,
|
||||||
result = make_renderer<PolyVoxEntityRenderer>(entity);
|
result = make_renderer<PolyVoxEntityRenderer>(entity);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Type::Grid:
|
|
||||||
result = make_renderer<GridEntityRenderer>(entity);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Type::Light:
|
case Type::Light:
|
||||||
result = make_renderer<LightEntityRenderer>(entity);
|
result = make_renderer<LightEntityRenderer>(entity);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
//
|
|
||||||
// Created by Sam Gondelman on 11/29/18
|
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "RenderableGridEntityItem.h"
|
|
||||||
|
|
||||||
using namespace render;
|
|
||||||
using namespace render::entities;
|
|
||||||
|
|
||||||
GridEntityRenderer::GridEntityRenderer(const EntityItemPointer& entity) : Parent(entity) {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GridEntityRenderer::needsRenderUpdate() const {
|
|
||||||
return Parent::needsRenderUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GridEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GridEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& scene, Transaction& transaction, const TypedEntityPointer& entity) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemKey GridEntityRenderer::getKey() {
|
|
||||||
ItemKey::Builder builder;
|
|
||||||
builder.withTypeShape().withTypeMeta().withTagBits(getTagMask());
|
|
||||||
|
|
||||||
withReadLock([&] {
|
|
||||||
if (isTransparent()) {
|
|
||||||
builder.withTransparent();
|
|
||||||
} else if (_canCastShadow) {
|
|
||||||
builder.withShadowCaster();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return builder.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
ShapeKey GridEntityRenderer::getShapeKey() {
|
|
||||||
ShapeKey::Builder builder;
|
|
||||||
return builder.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GridEntityRenderer::doRender(RenderArgs* args) {
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
//
|
|
||||||
// Created by Sam Gondelman on 11/29/18
|
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef hifi_RenderableGridEntityItem_h
|
|
||||||
#define hifi_RenderableGridEntityItem_h
|
|
||||||
|
|
||||||
#include "RenderableEntityItem.h"
|
|
||||||
|
|
||||||
#include <GridEntityItem.h>
|
|
||||||
|
|
||||||
namespace render { namespace entities {
|
|
||||||
|
|
||||||
class GridEntityRenderer : public TypedEntityRenderer<GridEntityItem> {
|
|
||||||
using Parent = TypedEntityRenderer<GridEntityItem>;
|
|
||||||
using Pointer = std::shared_ptr<GridEntityRenderer>;
|
|
||||||
public:
|
|
||||||
GridEntityRenderer(const EntityItemPointer& entity);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
ItemKey getKey() override;
|
|
||||||
ShapeKey getShapeKey() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
virtual bool needsRenderUpdate() const override;
|
|
||||||
virtual bool needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const override;
|
|
||||||
virtual void doRenderUpdateSynchronousTyped(const ScenePointer& scene, Transaction& transaction, const TypedEntityPointer& entity) override;
|
|
||||||
virtual void doRender(RenderArgs* args) override;
|
|
||||||
};
|
|
||||||
|
|
||||||
} }
|
|
||||||
#endif // hifi_RenderableGridEntityItem_h
|
|
|
@ -684,7 +684,6 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
* @see {@link Entities.EntityProperties-Line|EntityProperties-Line}
|
* @see {@link Entities.EntityProperties-Line|EntityProperties-Line}
|
||||||
* @see {@link Entities.EntityProperties-PolyLine|EntityProperties-PolyLine}
|
* @see {@link Entities.EntityProperties-PolyLine|EntityProperties-PolyLine}
|
||||||
* @see {@link Entities.EntityProperties-PolyVox|EntityProperties-PolyVox}
|
* @see {@link Entities.EntityProperties-PolyVox|EntityProperties-PolyVox}
|
||||||
* @see {@link Entities.EntityProperties-Grid|EntityProperties-Grid}
|
|
||||||
* @see {@link Entities.EntityProperties-Light|EntityProperties-Light}
|
* @see {@link Entities.EntityProperties-Light|EntityProperties-Light}
|
||||||
* @see {@link Entities.EntityProperties-Zone|EntityProperties-Zone}
|
* @see {@link Entities.EntityProperties-Zone|EntityProperties-Zone}
|
||||||
* @see {@link Entities.EntityProperties-Material|EntityProperties-Material}
|
* @see {@link Entities.EntityProperties-Material|EntityProperties-Material}
|
||||||
|
|
|
@ -80,7 +80,6 @@ class EntityItemProperties {
|
||||||
friend class LineEntityItem;
|
friend class LineEntityItem;
|
||||||
friend class PolyLineEntityItem;
|
friend class PolyLineEntityItem;
|
||||||
friend class PolyVoxEntityItem;
|
friend class PolyVoxEntityItem;
|
||||||
friend class GridEntityItem;
|
|
||||||
friend class LightEntityItem;
|
friend class LightEntityItem;
|
||||||
friend class ZoneEntityItem;
|
friend class ZoneEntityItem;
|
||||||
friend class MaterialEntityItem;
|
friend class MaterialEntityItem;
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
#include "LineEntityItem.h"
|
#include "LineEntityItem.h"
|
||||||
#include "PolyLineEntityItem.h"
|
#include "PolyLineEntityItem.h"
|
||||||
#include "PolyVoxEntityItem.h"
|
#include "PolyVoxEntityItem.h"
|
||||||
#include "GridEntityItem.h"
|
|
||||||
#include "LightEntityItem.h"
|
#include "LightEntityItem.h"
|
||||||
#include "ZoneEntityItem.h"
|
#include "ZoneEntityItem.h"
|
||||||
#include "MaterialEntityItem.h"
|
#include "MaterialEntityItem.h"
|
||||||
|
@ -53,7 +52,6 @@ REGISTER_ENTITY_TYPE(ParticleEffect)
|
||||||
REGISTER_ENTITY_TYPE(Line)
|
REGISTER_ENTITY_TYPE(Line)
|
||||||
REGISTER_ENTITY_TYPE(PolyLine)
|
REGISTER_ENTITY_TYPE(PolyLine)
|
||||||
REGISTER_ENTITY_TYPE(PolyVox)
|
REGISTER_ENTITY_TYPE(PolyVox)
|
||||||
REGISTER_ENTITY_TYPE(Grid)
|
|
||||||
REGISTER_ENTITY_TYPE(Light)
|
REGISTER_ENTITY_TYPE(Light)
|
||||||
REGISTER_ENTITY_TYPE(Zone)
|
REGISTER_ENTITY_TYPE(Zone)
|
||||||
REGISTER_ENTITY_TYPE(Material)
|
REGISTER_ENTITY_TYPE(Material)
|
||||||
|
|
|
@ -76,8 +76,6 @@ public:
|
||||||
* <td>{@link Entities.EntityProperties-PolyLine|EntityProperties-PolyLine}</td></tr>
|
* <td>{@link Entities.EntityProperties-PolyLine|EntityProperties-PolyLine}</td></tr>
|
||||||
* <tr><td><code>"PolyVox"</code></td><td>A set of textured voxels.</td>
|
* <tr><td><code>"PolyVox"</code></td><td>A set of textured voxels.</td>
|
||||||
* <td>{@link Entities.EntityProperties-PolyVox|EntityProperties-PolyVox}</td></tr>
|
* <td>{@link Entities.EntityProperties-PolyVox|EntityProperties-PolyVox}</td></tr>
|
||||||
* <tr><td><code>"Grid"</code></td><td>A grid.</td>
|
|
||||||
* <td>{@link Entities.EntityProperties-Grid|EntityProperties-Grid}</td></tr>
|
|
||||||
* <tr><td><code>"Light"</code></td><td>A local lighting effect.</td>
|
* <tr><td><code>"Light"</code></td><td>A local lighting effect.</td>
|
||||||
* <td>{@link Entities.EntityProperties-Light|EntityProperties-Light}</td></tr>
|
* <td>{@link Entities.EntityProperties-Light|EntityProperties-Light}</td></tr>
|
||||||
* <tr><td><code>"Zone"</code></td><td>A volume of lighting effects and avatar permissions.</td>
|
* <tr><td><code>"Zone"</code></td><td>A volume of lighting effects and avatar permissions.</td>
|
||||||
|
@ -102,7 +100,6 @@ public:
|
||||||
Line,
|
Line,
|
||||||
PolyLine,
|
PolyLine,
|
||||||
PolyVox,
|
PolyVox,
|
||||||
Grid,
|
|
||||||
Light,
|
Light,
|
||||||
Zone,
|
Zone,
|
||||||
Material,
|
Material,
|
||||||
|
|
|
@ -1,154 +0,0 @@
|
||||||
//
|
|
||||||
// Created by Sam Gondelman on 11/29/18
|
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "GridEntityItem.h"
|
|
||||||
|
|
||||||
#include "EntityItemProperties.h"
|
|
||||||
|
|
||||||
EntityItemPointer GridEntityItem::factory(const EntityItemID& entityID, const EntityItemProperties& properties) {
|
|
||||||
Pointer entity(new GridEntityItem(entityID), [](EntityItem* ptr) { ptr->deleteLater(); });
|
|
||||||
entity->setProperties(properties);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
// our non-pure virtual subclass for now...
|
|
||||||
GridEntityItem::GridEntityItem(const EntityItemID& entityItemID) : EntityItem(entityItemID) {
|
|
||||||
_type = EntityTypes::Grid;
|
|
||||||
}
|
|
||||||
|
|
||||||
EntityItemProperties GridEntityItem::getProperties(const EntityPropertyFlags& desiredProperties, bool allowEmptyDesiredProperties) const {
|
|
||||||
EntityItemProperties properties = EntityItem::getProperties(desiredProperties, allowEmptyDesiredProperties); // get the properties from our base class
|
|
||||||
|
|
||||||
//COPY_ENTITY_PROPERTY_TO_PROPERTIES(imageURL, getGridURL);
|
|
||||||
//COPY_ENTITY_PROPERTY_TO_PROPERTIES(emissive, getEmissive);
|
|
||||||
//COPY_ENTITY_PROPERTY_TO_PROPERTIES(keepAspectRatio, getKeepAspectRatio);
|
|
||||||
//COPY_ENTITY_PROPERTY_TO_PROPERTIES(faceCamera, getFaceCamera);
|
|
||||||
//COPY_ENTITY_PROPERTY_TO_PROPERTIES(subGrid, getSubGrid);
|
|
||||||
|
|
||||||
return properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GridEntityItem::setProperties(const EntityItemProperties& properties) {
|
|
||||||
bool somethingChanged = EntityItem::setProperties(properties); // set the properties in our base class
|
|
||||||
|
|
||||||
//SET_ENTITY_PROPERTY_FROM_PROPERTIES(imageURL, setGridURL);
|
|
||||||
//SET_ENTITY_PROPERTY_FROM_PROPERTIES(emissive, setEmissive);
|
|
||||||
//SET_ENTITY_PROPERTY_FROM_PROPERTIES(keepAspectRatio, setKeepAspectRatio);
|
|
||||||
//SET_ENTITY_PROPERTY_FROM_PROPERTIES(faceCamera, setFaceCamera);
|
|
||||||
//SET_ENTITY_PROPERTY_FROM_PROPERTIES(subGrid, setSubGrid);
|
|
||||||
|
|
||||||
if (somethingChanged) {
|
|
||||||
bool wantDebug = false;
|
|
||||||
if (wantDebug) {
|
|
||||||
uint64_t now = usecTimestampNow();
|
|
||||||
int elapsed = now - getLastEdited();
|
|
||||||
qCDebug(entities) << "GridEntityItem::setProperties() AFTER update... edited AGO=" << elapsed <<
|
|
||||||
"now=" << now << " getLastEdited()=" << getLastEdited();
|
|
||||||
}
|
|
||||||
setLastEdited(properties.getLastEdited());
|
|
||||||
}
|
|
||||||
return somethingChanged;
|
|
||||||
}
|
|
||||||
|
|
||||||
int GridEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data, int bytesLeftToRead,
|
|
||||||
ReadBitstreamToTreeParams& args,
|
|
||||||
EntityPropertyFlags& propertyFlags, bool overwriteLocalData,
|
|
||||||
bool& somethingChanged) {
|
|
||||||
|
|
||||||
int bytesRead = 0;
|
|
||||||
const unsigned char* dataAt = data;
|
|
||||||
|
|
||||||
//READ_ENTITY_PROPERTY(PROP_IMAGE_URL, QString, setGridURL);
|
|
||||||
//READ_ENTITY_PROPERTY(PROP_EMISSIVE, bool, setEmissive);
|
|
||||||
//READ_ENTITY_PROPERTY(PROP_KEEP_ASPECT_RATIO, bool, setKeepAspectRatio);
|
|
||||||
//READ_ENTITY_PROPERTY(PROP_FACE_CAMERA, bool, setFaceCamera);
|
|
||||||
//READ_ENTITY_PROPERTY(PROP_SUB_IMAGE, QRect, setSubGrid);
|
|
||||||
|
|
||||||
return bytesRead;
|
|
||||||
}
|
|
||||||
|
|
||||||
EntityPropertyFlags GridEntityItem::getEntityProperties(EncodeBitstreamParams& params) const {
|
|
||||||
EntityPropertyFlags requestedProperties = EntityItem::getEntityProperties(params);
|
|
||||||
|
|
||||||
//requestedProperties += PROP_IMAGE_URL;
|
|
||||||
//requestedProperties += PROP_EMISSIVE;
|
|
||||||
//requestedProperties += PROP_KEEP_ASPECT_RATIO;
|
|
||||||
//requestedProperties += PROP_FACE_CAMERA;
|
|
||||||
//requestedProperties += PROP_SUB_IMAGE;
|
|
||||||
|
|
||||||
return requestedProperties;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GridEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
|
||||||
EntityTreeElementExtraEncodeDataPointer modelTreeElementExtraEncodeData,
|
|
||||||
EntityPropertyFlags& requestedProperties,
|
|
||||||
EntityPropertyFlags& propertyFlags,
|
|
||||||
EntityPropertyFlags& propertiesDidntFit,
|
|
||||||
int& propertyCount,
|
|
||||||
OctreeElement::AppendState& appendState) const {
|
|
||||||
|
|
||||||
bool successPropertyFits = true;
|
|
||||||
|
|
||||||
//APPEND_ENTITY_PROPERTY(PROP_IMAGE_URL, getGridURL());
|
|
||||||
//APPEND_ENTITY_PROPERTY(PROP_EMISSIVE, getEmissive());
|
|
||||||
//APPEND_ENTITY_PROPERTY(PROP_KEEP_ASPECT_RATIO, getKeepAspectRatio());
|
|
||||||
//APPEND_ENTITY_PROPERTY(PROP_FACE_CAMERA, getFaceCamera());
|
|
||||||
//APPEND_ENTITY_PROPERTY(PROP_SUB_IMAGE, getSubGrid());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GridEntityItem::findDetailedRayIntersection(const glm::vec3& origin, const glm::vec3& direction,
|
|
||||||
OctreeElementPointer& element,
|
|
||||||
float& distance, BoxFace& face, glm::vec3& surfaceNormal,
|
|
||||||
QVariantMap& extraInfo, bool precisionPicking) const {
|
|
||||||
glm::vec3 dimensions = getScaledDimensions();
|
|
||||||
glm::vec2 xyDimensions(dimensions.x, dimensions.y);
|
|
||||||
glm::quat rotation = getWorldOrientation();
|
|
||||||
glm::vec3 position = getWorldPosition() + rotation * (dimensions * (ENTITY_ITEM_DEFAULT_REGISTRATION_POINT - getRegistrationPoint()));
|
|
||||||
|
|
||||||
if (findRayRectangleIntersection(origin, direction, rotation, position, xyDimensions, distance)) {
|
|
||||||
glm::vec3 forward = rotation * Vectors::FRONT;
|
|
||||||
if (glm::dot(forward, direction) > 0.0f) {
|
|
||||||
face = MAX_Z_FACE;
|
|
||||||
surfaceNormal = -forward;
|
|
||||||
} else {
|
|
||||||
face = MIN_Z_FACE;
|
|
||||||
surfaceNormal = forward;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GridEntityItem::findDetailedParabolaIntersection(const glm::vec3& origin, const glm::vec3& velocity, const glm::vec3& acceleration,
|
|
||||||
OctreeElementPointer& element, float& parabolicDistance,
|
|
||||||
BoxFace& face, glm::vec3& surfaceNormal,
|
|
||||||
QVariantMap& extraInfo, bool precisionPicking) const {
|
|
||||||
glm::vec3 dimensions = getScaledDimensions();
|
|
||||||
glm::vec2 xyDimensions(dimensions.x, dimensions.y);
|
|
||||||
glm::quat rotation = getWorldOrientation();
|
|
||||||
glm::vec3 position = getWorldPosition() + rotation * (dimensions * (ENTITY_ITEM_DEFAULT_REGISTRATION_POINT - getRegistrationPoint()));
|
|
||||||
|
|
||||||
glm::quat inverseRot = glm::inverse(rotation);
|
|
||||||
glm::vec3 localOrigin = inverseRot * (origin - position);
|
|
||||||
glm::vec3 localVelocity = inverseRot * velocity;
|
|
||||||
glm::vec3 localAcceleration = inverseRot * acceleration;
|
|
||||||
|
|
||||||
if (findParabolaRectangleIntersection(localOrigin, localVelocity, localAcceleration, xyDimensions, parabolicDistance)) {
|
|
||||||
float localIntersectionVelocityZ = localVelocity.z + localAcceleration.z * parabolicDistance;
|
|
||||||
glm::vec3 forward = rotation * Vectors::FRONT;
|
|
||||||
if (localIntersectionVelocityZ > 0.0f) {
|
|
||||||
face = MIN_Z_FACE;
|
|
||||||
surfaceNormal = forward;
|
|
||||||
} else {
|
|
||||||
face = MAX_Z_FACE;
|
|
||||||
surfaceNormal = -forward;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
//
|
|
||||||
// Created by Sam Gondelman on 11/29/18
|
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef hifi_GridEntityItem_h
|
|
||||||
#define hifi_GridEntityItem_h
|
|
||||||
|
|
||||||
#include "EntityItem.h"
|
|
||||||
|
|
||||||
class GridEntityItem : public EntityItem {
|
|
||||||
using Pointer = std::shared_ptr<GridEntityItem>;
|
|
||||||
public:
|
|
||||||
static EntityItemPointer factory(const EntityItemID& entityID, const EntityItemProperties& properties);
|
|
||||||
|
|
||||||
GridEntityItem(const EntityItemID& entityItemID);
|
|
||||||
|
|
||||||
ALLOW_INSTANTIATION // This class can be instantiated
|
|
||||||
|
|
||||||
// methods for getting/setting all properties of an entity
|
|
||||||
EntityItemProperties getProperties(const EntityPropertyFlags& desiredProperties, bool allowEmptyDesiredProperties) const override;
|
|
||||||
bool setProperties(const EntityItemProperties& properties) override;
|
|
||||||
|
|
||||||
EntityPropertyFlags getEntityProperties(EncodeBitstreamParams& params) const override;
|
|
||||||
|
|
||||||
void appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
|
||||||
EntityTreeElementExtraEncodeDataPointer modelTreeElementExtraEncodeData,
|
|
||||||
EntityPropertyFlags& requestedProperties,
|
|
||||||
EntityPropertyFlags& propertyFlags,
|
|
||||||
EntityPropertyFlags& propertiesDidntFit,
|
|
||||||
int& propertyCount,
|
|
||||||
OctreeElement::AppendState& appendState) const override;
|
|
||||||
|
|
||||||
int readEntitySubclassDataFromBuffer(const unsigned char* data, int bytesLeftToRead,
|
|
||||||
ReadBitstreamToTreeParams& args,
|
|
||||||
EntityPropertyFlags& propertyFlags, bool overwriteLocalData,
|
|
||||||
bool& somethingChanged) override;
|
|
||||||
|
|
||||||
virtual bool supportsDetailedIntersection() const override { return true; }
|
|
||||||
virtual bool findDetailedRayIntersection(const glm::vec3& origin, const glm::vec3& direction,
|
|
||||||
OctreeElementPointer& element, float& distance,
|
|
||||||
BoxFace& face, glm::vec3& surfaceNormal,
|
|
||||||
QVariantMap& extraInfo, bool precisionPicking) const override;
|
|
||||||
virtual bool findDetailedParabolaIntersection(const glm::vec3& origin, const glm::vec3& velocity,
|
|
||||||
const glm::vec3& acceleration, OctreeElementPointer& element, float& parabolicDistance,
|
|
||||||
BoxFace& face, glm::vec3& surfaceNormal,
|
|
||||||
QVariantMap& extraInfo, bool precisionPicking) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // hifi_GridEntityItem_h
|
|
Loading…
Reference in a new issue