aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/SceneQuery/include/SqPruner.h
diff options
context:
space:
mode:
Diffstat (limited to 'PhysX_3.4/Source/SceneQuery/include/SqPruner.h')
-rw-r--r--PhysX_3.4/Source/SceneQuery/include/SqPruner.h39
1 files changed, 20 insertions, 19 deletions
diff --git a/PhysX_3.4/Source/SceneQuery/include/SqPruner.h b/PhysX_3.4/Source/SceneQuery/include/SqPruner.h
index 8a8bcbfa..78819cec 100644
--- a/PhysX_3.4/Source/SceneQuery/include/SqPruner.h
+++ b/PhysX_3.4/Source/SceneQuery/include/SqPruner.h
@@ -86,10 +86,10 @@ public:
/**
* \brief Adds objects to the pruner.
* \param results [out] an array for resulting handles
- * \param bounds [in] an array of bounds
- * \param userData [in] an array of object data
- * \param count [in] the number of objects in the arrays
- * \param hasPruningStructure [in] if added objects have pruning structure. The structure will be merged later, adding the objects will not invalidate the pruner.
+ * \param bounds [in] an array of bounds. These bounds are used as-is so they should be pre-inflated if inflation is needed.
+ * \param userData [in] an array of object data
+ * \param count [in] the number of objects in the arrays
+ * \param hasPruningStructure [in] if added objects have pruning structure. The structure will be merged later, adding the objects will not invalidate the pruner.
*
* \return true if success, false if internal allocation failed. The first failing add results in a INVALID_PRUNERHANDLE.
*
@@ -99,38 +99,39 @@ public:
* Objects and bounds in the arrays have the same number of elements and ordering.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- virtual bool addObjects(PrunerHandle* results, const PxBounds3* bounds, const PrunerPayload* userData, PxU32 count = 1, bool hasPruningStructure = false) = 0;
+ virtual bool addObjects(PrunerHandle* results, const PxBounds3* bounds, const PrunerPayload* userData, PxU32 count, bool hasPruningStructure) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Removes objects from the pruner.
* \param handles [in] the objects to remove
- * \param count [in] the number of objects to remove
+ * \param count [in] the number of objects to remove
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- virtual void removeObjects(const PrunerHandle* handles, PxU32 count = 1) = 0;
+ virtual void removeObjects(const PrunerHandle* handles, PxU32 count) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
- * Updates objects with new bounds.
+ * Updates objects after manually updating their bounds via "getPayload" calls.
* \param handles [in] the objects to update
- * \param newBounds [in] updated bounds. Can be NULL if bounds have been written already through getPayload calls.
- * \param count [in] the number of objects to update
+ * \param count [in] the number of objects to update
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- virtual void updateObjects(const PrunerHandle* handles, const PxBounds3* newBounds, PxU32 count = 1) = 0;
+ virtual void updateObjectsAfterManualBoundsUpdates(const PrunerHandle* handles, PxU32 count) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
- * Updates objects with new indexed bounds.
- * \param handles [in] the objects to update
- * \param indices [in] the indices of the bounds in the bounds array
- * \param newBounds [in] updated bounds array
- * \param count [in] the number of objects to update
- */
+ * Updates objects with new indexed bounds.
+ * \param handles [in] the objects to update
+ * \param indices [in] the indices of the bounds in the bounds array
+ * \param newBounds [in] updated bounds array
+ * \param count [in] the number of objects to update
+ *
+ * \warning THESE BOUNDS WILL BE INFLATED ON-THE-FLY. So this is inconsistent with the "addObjects" behavior.
+ * \warning The inflation value is hardcoded in Sq::inflateBounds().
+ */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- virtual void updateObjects(const PrunerHandle* handles, const PxU32* indices, const PxBounds3* newBounds, PxU32 count = 1) = 0;
-
+ virtual void updateObjectsAndInflateBounds(const PrunerHandle* handles, const PxU32* indices, const PxBounds3* newBounds, PxU32 count) = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**