diff options
| author | Marijn Tamis <[email protected]> | 2017-10-20 14:30:56 +0200 |
|---|---|---|
| committer | Marijn Tamis <[email protected]> | 2017-10-20 14:36:12 +0200 |
| commit | fabb251458f4a2d6d4f87dd36038fac2774b378c (patch) | |
| tree | 68a4a0ecd940dc949e0477d521d8c159968cfcd5 /NvCloth/samples/SampleBase/scene | |
| parent | NvCloth 1.1.2 Release. (22576033) (diff) | |
| download | nvcloth-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')
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> |