aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/samples/SampleBase/scene
diff options
context:
space:
mode:
authorMarijn Tamis <[email protected]>2017-10-20 14:30:56 +0200
committerMarijn Tamis <[email protected]>2017-10-20 14:36:12 +0200
commitfabb251458f4a2d6d4f87dd36038fac2774b378c (patch)
tree68a4a0ecd940dc949e0477d521d8c159968cfcd5 /NvCloth/samples/SampleBase/scene
parentNvCloth 1.1.2 Release. (22576033) (diff)
downloadnvcloth-1.1.3.tar.xz
nvcloth-1.1.3.zip
NvCloth 1.1.3 Release. (23014067)v1.1.3
Diffstat (limited to 'NvCloth/samples/SampleBase/scene')
-rw-r--r--NvCloth/samples/SampleBase/scene/Scene.cpp18
-rw-r--r--NvCloth/samples/SampleBase/scene/Scene.h4
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/CCDScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/CapsuleScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/ConvexCollisionScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/DistanceConstraintScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/FrictionScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/GeodesicScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/InterCollisionScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/LocalGlobalScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/MultiSolverScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/PlaneCollisionScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/ScaledScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/SelfCollisionScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/SimpleScene.cpp3
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/SphereScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/StiffnessPerConstraintScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/TetherScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/TriangleScene.cpp2
-rw-r--r--NvCloth/samples/SampleBase/scene/scenes/WindScene.cpp2
20 files changed, 40 insertions, 19 deletions
diff --git a/NvCloth/samples/SampleBase/scene/Scene.cpp b/NvCloth/samples/SampleBase/scene/Scene.cpp
index 6296a05..00e23ae 100644
--- a/NvCloth/samples/SampleBase/scene/Scene.cpp
+++ b/NvCloth/samples/SampleBase/scene/Scene.cpp
@@ -451,6 +451,24 @@ void Scene::addClothToSolver(ClothActor* clothActor, nv::cloth::Solver* solver)
mClothSolverMap[clothActor] = solver;
}
+void Scene::addClothsToSolver(nv::cloth::Range<ClothActor*> clothActors, nv::cloth::Solver* solver)
+{
+ // A temporary vector of Cloth*, to construct a Range from and pass to solver
+ std::vector<nv::cloth::Cloth*> cloths;
+
+ for (uint32_t i = 0; i < clothActors.size(); ++i)
+ {
+ auto* clothActor = clothActors[i];
+ assert(mClothSolverMap.find(clothActor) == mClothSolverMap.end());
+ mClothSolverMap[clothActor] = solver;
+
+ cloths.push_back(clothActor->mCloth);
+ }
+
+ auto clothsRange = nv::cloth::Range<nv::cloth::Cloth*>(&cloths.front(), &cloths.back() + 1);
+ solver->addCloths(clothsRange);
+}
+
void Scene::trackRenderable(Renderable* renderable)
{
trackT(mRenderableList, renderable);
diff --git a/NvCloth/samples/SampleBase/scene/Scene.h b/NvCloth/samples/SampleBase/scene/Scene.h
index 1c14fbd..4ef2bed 100644
--- a/NvCloth/samples/SampleBase/scene/Scene.h
+++ b/NvCloth/samples/SampleBase/scene/Scene.h
@@ -75,7 +75,9 @@ protected:
void trackFabric(nv::cloth::Fabric* fabric);
void untrackFabric(nv::cloth::Fabric* fabric);
- void addClothToSolver(ClothActor* clothActor, nv::cloth::Solver* solver); //Helps to detach cloths from solver at AutoDeinit.
+ //Help to detach cloths from solver at AutoDeinit.
+ void addClothToSolver(ClothActor* clothActor, nv::cloth::Solver* solver);
+ void addClothsToSolver(nv::cloth::Range<ClothActor*> clothActors, nv::cloth::Solver* solver);
void trackRenderable(Renderable* renderMesh);
void untrackRenderable(Renderable* renderMesh);
diff --git a/NvCloth/samples/SampleBase/scene/scenes/CCDScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/CCDScene.cpp
index 2d0eaa8..4d3bb84 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/CCDScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/CCDScene.cpp
@@ -9,7 +9,7 @@
*/
#include "CCDScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/CapsuleScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/CapsuleScene.cpp
index e16899c..981e699 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/CapsuleScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/CapsuleScene.cpp
@@ -9,7 +9,7 @@
*/
#include "CapsuleScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/ConvexCollisionScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/ConvexCollisionScene.cpp
index 28df734..bbafbff 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/ConvexCollisionScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/ConvexCollisionScene.cpp
@@ -9,7 +9,7 @@
*/
#include "ConvexCollisionScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/DistanceConstraintScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/DistanceConstraintScene.cpp
index eaac8e1..8be7184 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/DistanceConstraintScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/DistanceConstraintScene.cpp
@@ -9,7 +9,7 @@
*/
#include "DistanceConstraintScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/FrictionScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/FrictionScene.cpp
index 3848c6f..f2f5063 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/FrictionScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/FrictionScene.cpp
@@ -9,7 +9,7 @@
*/
#include "FrictionScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/GeodesicScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/GeodesicScene.cpp
index 3216dca..bdf14c8 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/GeodesicScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/GeodesicScene.cpp
@@ -9,7 +9,7 @@
*/
#include "GeodesicScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/InterCollisionScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/InterCollisionScene.cpp
index b75facd..0dd1aa7 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/InterCollisionScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/InterCollisionScene.cpp
@@ -9,7 +9,7 @@
*/
#include "InterCollisionScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/LocalGlobalScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/LocalGlobalScene.cpp
index 57cd1a2..6583476 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/LocalGlobalScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/LocalGlobalScene.cpp
@@ -9,7 +9,7 @@
*/
#include "LocalGlobalScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/MultiSolverScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/MultiSolverScene.cpp
index d708069..a82325f 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/MultiSolverScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/MultiSolverScene.cpp
@@ -9,7 +9,7 @@
*/
#include "MultiSolverScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/PlaneCollisionScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/PlaneCollisionScene.cpp
index fcf4060..8a677f1 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/PlaneCollisionScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/PlaneCollisionScene.cpp
@@ -9,7 +9,7 @@
*/
#include "PlaneCollisionScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/ScaledScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/ScaledScene.cpp
index f2a5b82..a9059b8 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/ScaledScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/ScaledScene.cpp
@@ -9,7 +9,7 @@
*/
#include "ScaledScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/SelfCollisionScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/SelfCollisionScene.cpp
index 6a407ea..89fed39 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/SelfCollisionScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/SelfCollisionScene.cpp
@@ -9,7 +9,7 @@
*/
#include "SelfCollisionScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/SimpleScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/SimpleScene.cpp
index b52e2c6..e774665 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/SimpleScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/SimpleScene.cpp
@@ -9,7 +9,7 @@
*/
#include "SimpleScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
@@ -76,6 +76,7 @@ void SimpleScene::onInitialize()
mClothActor->mCloth->setPhaseConfig(nv::cloth::Range<nv::cloth::PhaseConfig>(&phases.front(), &phases.back()));
mClothActor->mCloth->setDragCoefficient(0.1f);
mClothActor->mCloth->setDragCoefficient(0.1f);
+ //mClothActor->mCloth->setSelfCollisionDistance(0.1f);
mSolver = getSceneController()->getFactory()->createSolver();
trackSolver(mSolver);
diff --git a/NvCloth/samples/SampleBase/scene/scenes/SphereScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/SphereScene.cpp
index d963011..2e6912e 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/SphereScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/SphereScene.cpp
@@ -9,7 +9,7 @@
*/
#include "SphereScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/StiffnessPerConstraintScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/StiffnessPerConstraintScene.cpp
index 4ed9daf..e92c1dc 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/StiffnessPerConstraintScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/StiffnessPerConstraintScene.cpp
@@ -9,7 +9,7 @@
*/
#include "StiffnessPerConstraintScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/TetherScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/TetherScene.cpp
index ecd0850..d437af3 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/TetherScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/TetherScene.cpp
@@ -9,7 +9,7 @@
*/
#include "TetherScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/TriangleScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/TriangleScene.cpp
index 1822bb9..10d185d 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/TriangleScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/TriangleScene.cpp
@@ -9,7 +9,7 @@
*/
#include "TriangleScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>
diff --git a/NvCloth/samples/SampleBase/scene/scenes/WindScene.cpp b/NvCloth/samples/SampleBase/scene/scenes/WindScene.cpp
index d84fb87..8866473 100644
--- a/NvCloth/samples/SampleBase/scene/scenes/WindScene.cpp
+++ b/NvCloth/samples/SampleBase/scene/scenes/WindScene.cpp
@@ -9,7 +9,7 @@
*/
#include "WindScene.h"
-#include "Scene/SceneController.h"
+#include "scene/SceneController.h"
#include <NvClothExt/ClothFabricCooker.h>
#include "ClothMeshGenerator.h"
#include <NvCloth/Fabric.h>