overte/interface/src
LaShonda Hopper 5b50b362f1 [WL21389] WL21389 PR2: Representation of collision shapes need updating (details below).
This commit adds support for the polyhedrons and polygons sans
Torus and Quad which aren't currently supported within GeometryCache.

* Moves GeometryCache::_shapes from public to private scope
    * Nothing aside from the class should be directly altering this, only querying
    * Updated instances of direct referencing which looks to have been limited to prior
      testing of instancing and shapes.
* Adds an accessor function for ShapeData to GeometryCache
* Consolidates point list generation to helper function
    * GeometryCache::computeSimpleHullPointListForShape
* Moves GeometryCache::Shape to entity::Shape mapping to GeometryCache from
  RenderableShapeEntityItem
    * Adds conversion accessor to GeometryCache, GeometryCache::Shape getShapeForEntityShape
* Sets ShapeEntityItem::ShapeInfoCalculator callback committed earlier.
    * This helps circumvent the issue with library inclusion.  entity-render knows about
      entity; however, entity doesn't know about entity-renderer; however, GeometryCache
      data is needed within entity::ShapeEntityItem to compose the ShapeInfo point list data.
    * This callback is set up within Application::init of the Interface as it knows about
      both halves of the equation, and the callback needs to be setup prior to any entities
      collision data getting generated.
* Removes _type reset within ShapeInfo::setPointCollection
    * This should avoid any issues due to subversively setting the type or
      incorrectly setting the type as a tangential operation.
        * Audited instances of ShapeInfo::setPointCollection and all seemed to be
          calling the function immediately after having set the type via
          ShapeInfo::setParams
* Adds new ShapeType: SHAPE_TYPE_CIRCLE
    * This type is reserved for the circle which is now treated as a special
      type of Cylinder_Y with regard to collision as opposed to a simple hull.
    * Fixes the issue where jumping on a circle, at times, would
      result in the avatar sliding off towards an edge as if atop a
      squished cone.
* Also updates ShapeInfo::getType() to return ShapeType as opposed to int
    * Auditing calls showed that majority of places were comparing against ShapeType
    * ShapeType::_type is a ShapeType so returning the type explicitly
      is more consistent.
        * ShapeInfo file houses ShapeType enum so any file aware of ShapeInfo is aware of
          ShapeType enumeration.
* entity::Quad defaults to SHAPE_TYPE_ELLIPSOID
    * Like entity::Shape::Torus, entity::Shape::Quad is currently unsupported within
      GeometryCache::buildShapes.
    * Also it appears that a Quad shape can't be created within world via the creation menu.
        * There's no explicit option at present to create one.
        * Trying subvert the Cube/Box creation option to generate one results in an enforced
          stubby box as opposed to a quad.
    * Given the aforementioned points, entity::Shape::Quad will default to
      SHAPE_TYPE_ELLIPSOID as opposed to SHAPE_TYPE_BOX.
        * Added Todo regarding the shape being unsupported along with a notation to create
          a special ShapeType, SHAPE_TYPE_QUAD, for it should it be added in the future.
* Adds some comments and has some minor clean up.

Reviewed-by: Leander Hasty <leander@1stplayable.com>

Changes Committed:
	modified:   interface/src/Application.cpp
	modified:   interface/src/Util.cpp
	modified:   interface/src/Util.h
	modified:   libraries/entities-renderer/src/RenderableShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.cpp
	modified:   libraries/entities/src/ShapeEntityItem.h
	modified:   libraries/physics/src/ShapeFactory.cpp
	modified:   libraries/render-utils/src/GeometryCache.cpp
	modified:   libraries/render-utils/src/GeometryCache.h
	modified:   libraries/shared/src/ShapeInfo.cpp
	modified:   libraries/shared/src/ShapeInfo.h
	modified:   tests/gpu-test/src/TestInstancedShapes.cpp
2017-10-24 14:16:17 -04:00
..
assets Fixed typo in qWarning message. 2017-10-06 18:42:02 +01:00
audio
avatar Code review 2017-10-18 21:08:10 +13:00
commerce Fix writing backup instructions when restoring wallet backup 2017-10-13 14:33:36 -07:00
devices
java/io/highfidelity/interface
networking
octree
raypick merge from master 2017-10-17 18:05:59 -07:00
scripting Merge pull request #11450 from ElderOrb/case7722 2017-10-13 11:38:38 -07:00
ui billboard is now using a general formula to calculate the rotation, where we don't assume y is up. Added dependency on the avatar. 2017-10-24 14:49:17 +01:00
Application.cpp [WL21389] WL21389 PR2: Representation of collision shapes need updating (details below). 2017-10-24 14:16:17 -04:00
Application.h Use atomic<bool> and compare_exchange_strong 2017-10-13 16:03:56 -07:00
Application_render.cpp Reduce present traffic on main thread event queue. 2017-10-13 14:28:23 -07:00
AvatarBookmarks.cpp Rework all c++ calls 2017-09-16 22:04:53 +02:00
AvatarBookmarks.h
Bookmarks.cpp Fix crash on second bookmark saving 2017-09-20 21:01:16 +02:00
Bookmarks.h
ConnectionMonitor.cpp
ConnectionMonitor.h
CrashHandler.cpp
CrashHandler.h
CrashReporter.cpp
CrashReporter.h
DiscoverabilityManager.cpp
DiscoverabilityManager.h
FancyCamera.cpp
FancyCamera.h
FrameTimingsScriptingInterface.cpp
FrameTimingsScriptingInterface.h
GLCanvas.cpp
GLCanvas.h
InterfaceDynamicFactory.cpp
InterfaceDynamicFactory.h
InterfaceLogging.cpp
InterfaceLogging.h
InterfaceParentFinder.cpp
InterfaceParentFinder.h
LocationBookmarks.cpp Rework all c++ calls 2017-09-16 22:04:53 +02:00
LocationBookmarks.h Create home path for new content sets loaded in 2017-08-23 17:38:24 -07:00
LODManager.cpp minor cleanup 2017-09-25 15:10:14 -07:00
LODManager.h remove cruft 2017-09-25 15:52:14 -07:00
main.cpp Make fix precisely for Linux 2017-09-28 21:38:03 +02:00
Menu.cpp Move Tablet becomes toolbar menu from General to Developer menu 2017-09-14 16:37:02 +02:00
Menu.h Move Tablet becomes toolbar menu from General to Developer menu 2017-09-14 16:37:02 +02:00
ModelPackager.cpp
ModelPackager.h
ModelPropertiesDialog.cpp
ModelPropertiesDialog.h
ModelSelector.cpp
ModelSelector.h
ScriptHighlighting.cpp
ScriptHighlighting.h
SecondaryCamera.cpp possibly fix threading crashes, mirror and fade 2017-09-26 16:21:36 -07:00
SecondaryCamera.h possibly fix threading crashes, mirror and fade 2017-09-26 16:21:36 -07:00
SpeechRecognizer.cpp
SpeechRecognizer.h
SpeechRecognizer.mm
UIUtil.cpp
UIUtil.h
Util.cpp [WL21389] WL21389 PR2: Representation of collision shapes need updating (details below). 2017-10-24 14:16:17 -04:00
Util.h [WL21389] WL21389 PR2: Representation of collision shapes need updating (details below). 2017-10-24 14:16:17 -04:00
world.h