7 #include "imstkCamera.h" 8 #include "imstkCollidingObject.h" 9 #include "imstkDirectionalLight.h" 10 #include "imstkKeyboardDeviceClient.h" 11 #include "imstkKeyboardSceneControl.h" 12 #include "imstkLight.h" 13 #include "imstkLogger.h" 14 #include "imstkMouseDeviceClient.h" 15 #include "imstkMouseSceneControl.h" 17 #include "imstkOrientedBox.h" 18 #include "imstkScene.h" 19 #include "imstkSceneManager.h" 20 #include "imstkSceneObjectController.h" 21 #include "imstkSimulationManager.h" 22 #include "imstkSimulationUtils.h" 23 #include "imstkVRPNDeviceClient.h" 24 #include "imstkVRPNDeviceManager.h" 25 #include "imstkVTKViewer.h" 27 using namespace imstk;
48 const std::string serverIP =
"localhost";
51 const int serverPort = 38833;
54 auto server = std::make_shared<VRPNDeviceManager>(serverIP, serverPort);
56 auto client = server->makeDeviceClient(
"Tracker0", VRPNTracker);
58 std::shared_ptr<AnalyticalGeometry> geometries[] = {
59 std::make_shared<OrientedBox>(Vec3d::Zero(), Vec3d(1.0, 5.0, 1.0)),
63 object->setVisualGeometry(geometries[0]);
64 scene->addSceneObject(
object);
67 controller->setControlledObject(
object);
68 controller->setDevice(client);
69 controller->setTranslationScaling(0.1);
70 scene->addControl(controller);
73 std::shared_ptr<Camera> cam = scene->getActiveCamera();
74 cam->setPosition(Vec3d(0.0, 0.0, 10.0));
75 cam->setFocalPoint(geometries[0]->getPosition());
81 scene->addLight(
"light", light);
100 std::shared_ptr<Entity> mouseAndKeyControls =
101 SimulationUtils::createDefaultSceneControl(driver);
102 scene->addSceneObject(mouseAndKeyControls);
void setDesiredDt(const double dt)
Sets the target fixed timestep (may violate), seconds This ultimately effects the number of iteration...
void setActiveScene(std::shared_ptr< Scene > scene) override
Set scene to be rendered.
void addModule(std::shared_ptr< Module > module) override
Add a module to run.
void setIntensity(const double intensity)
Set the light intensity. This value is unbounded.
std::shared_ptr<T> obj = std::make_shared<T>(); equivalent, convenience class for STL shared allocati...
void setDirection(const Vec3d &dir)
Set the direction of the light.
void setActiveScene(std::string newSceneName)
Sets the currently updating scene.
static LoggerG3 & startLogger()
Starts logger with default sinks, use getInstance to create a logger with no sinks.