.. _program_listing_file_include_flamegpu_visualiser_ModelVis.h: Program Listing for File ModelVis.h =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/flamegpu/visualiser/ModelVis.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef INCLUDE_FLAMEGPU_VISUALISER_MODELVIS_H_ #define INCLUDE_FLAMEGPU_VISUALISER_MODELVIS_H_ #ifdef FLAMEGPU_VISUALISATION #include #include #include #include #include // @todo - All vis headers should live in the vis repo. #include "flamegpu/visualiser/AgentVis.h" #include "flamegpu/visualiser/StaticModelVis.h" #include "flamegpu/visualiser/LineVis.h" #include "flamegpu/visualiser/PanelVis.h" #include "flamegpu/visualiser/color/AutoPalette.h" #include "flamegpu/visualiser/config/ModelConfig.h" namespace flamegpu { struct ModelData; class CUDASimulation; class FLAMEGPU_Visualisation; namespace visualiser { struct ModelVisData { explicit ModelVisData(const CUDASimulation& model/*TBD*/); ModelConfig modelCfg; std::shared_ptr autoPalette; std::unordered_map> agents; const CUDASimulation& model; const ModelData& modelData; std::unique_ptr visualiser; bool env_registered = false; void updateBuffers(const unsigned int& sc = UINT_MAX); void registerEnvProperties(); void updateRandomSeed(); }; class ModelVis { public: explicit ModelVis(std::shared_ptr data, bool _isSWIG); ~ModelVis() = default; void setAutoPalette(const Palette &palette); void clearAutoPalette(); AgentVis addAgent(const std::string &agent_name); AgentVis Agent(const std::string &agent_name); void setWindowTitle(const std::string &title); void setWindowDimensions(const unsigned int& width, const unsigned int& height); void setClearColor(const float& red, const float& green, const float& blue); void setFPSVisible(const bool& showFPS); void setFPSColor(const float& red, const float& green, const float& blue); void setInitialCameraLocation(const float &x, const float &y, const float &z); void setInitialCameraTarget(const float &x, const float &y, const float &z); void setCameraSpeed(const float &speed, const float &shiftMultiplier = 5.0f); void setViewClips(const float &nearClip, const float &farClip); void setOrthographic(const bool& isOrtho); void setOrthographicZoomModifier(const float& zoomMod); void setStepVisible(const bool& showStep); void setSimulationSpeed(const unsigned int& stepsPerSecond); void setBeginPaused(const bool& beginPaused); StaticModelVis newStaticModel(const std::string &modelPath, const std::string &texturePath = ""); LineVis newLineSketch(float r, float g, float b, float a = 1.0f); LineVis newPolylineSketch(float r, float g, float b, float a = 1.0f); PanelVis newUIPanel(const std::string& panel_title); void activate(); void deactivate(); void join(); bool isRunning() const; private: const bool isSWIG; std::shared_ptr data; }; } // namespace visualiser } // namespace flamegpu #endif // FLAMEGPU_VISUALISATION #endif // INCLUDE_FLAMEGPU_VISUALISER_MODELVIS_H_