.. _program_listing_file_include_flamegpu_visualiser_AgentVis.h: Program Listing for File AgentVis.h =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/flamegpu/visualiser/AgentVis.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef INCLUDE_FLAMEGPU_VISUALISER_AGENTVIS_H_ #define INCLUDE_FLAMEGPU_VISUALISER_AGENTVIS_H_ #ifdef FLAMEGPU_VISUALISATION // #include #include #include #include #include // @todo - All vis headers should live in the vis repo. #include "flamegpu/visualiser/AgentStateVis.h" #include "flamegpu/visualiser/config/AgentStateConfig.h" #include "flamegpu/visualiser/config/Stock.h" #include "flamegpu/visualiser/config/TexBufferConfig.h" namespace flamegpu { struct AgentData; namespace detail { class CUDAAgent; } // namespace detail namespace visualiser { struct Palette; class FLAMEGPU_Visualisation; class ColorFunction; struct Color; class AutoPalette; struct AgentVisData { explicit AgentVisData(detail::CUDAAgent& agent, const std::shared_ptr& autopalette = nullptr); std::weak_ptr auto_palette; std::shared_ptr owned_auto_palette; AgentStateConfig defaultConfig; std::unordered_map> states; detail::CUDAAgent& agent; std::shared_ptr agentData; std::map core_tex_buffers; void initBindings(std::unique_ptr& vis); bool requestBufferResizes(std::unique_ptr& vis, bool force); void updateBuffers(std::unique_ptr& vis); }; class AgentVis { friend class AgentStateVis; public: explicit AgentVis(std::shared_ptr data); AgentStateVis State(const std::string &state_name); void setXVariable(const std::string &var_name); void setYVariable(const std::string &var_name); void setZVariable(const std::string &var_name); void setXYVariable(const std::string &var_name); void setXYZVariable(const std::string &var_name); void setForwardXVariable(const std::string& var_name); void setForwardYVariable(const std::string& var_name); void setForwardZVariable(const std::string& var_name); void setForwardXZVariable(const std::string& var_name); void setForwardXYZVariable(const std::string& var_name); void setUpXVariable(const std::string& var_name); void setUpYVariable(const std::string& var_name); void setUpZVariable(const std::string& var_name); void setUpXYZVariable(const std::string& var_name); void setYawVariable(const std::string& var_name); void setPitchVariable(const std::string& var_name); void setRollVariable(const std::string& var_name); void setDirectionYPVariable(const std::string& var_name); void setDirectionYPRVariable(const std::string& var_name); void setUniformScaleVariable(const std::string& var_name); void setScaleXVariable(const std::string& var_name); void setScaleYVariable(const std::string& var_name); void setScaleZVariable(const std::string& var_name); void setScaleXYVariable(const std::string& var_name); void setScaleXYZVariable(const std::string& var_name); void clearXVariable(); void clearYVariable(); void clearZVariable(); void clearXYVariable(); void clearXYZVariable(); void clearForwardXVariable(); void clearForwardYVariable(); void clearForwardZVariable(); void clearForwardXZVariable(); void clearForwardXYZVariable(); void clearUpXVariable(); void clearUpYVariable(); void clearUpZVariable(); void clearUpXYZVariable(); void clearYawVariable(); void clearPitchVariable(); void clearRollVariable(); void clearDirectionYPVariable(); void clearDirectionYPRVariable(); void clearUniformScaleVariable(); void clearScaleXVariable(); void clearScaleYVariable(); void clearScaleZVariable(); void clearScaleXYVariable(); void clearScaleXYZVariable(); std::string getXVariable() const; std::string getYVariable() const; std::string getZVariable() const; std::string getXYVariable() const; std::string getXYZVariable() const; std::string getForwardXVariable() const; std::string getForwardYVariable() const; std::string getForwardZVariable() const; std::string getForwardXZVariable() const; std::string getForwardXYZVariable() const; std::string getUpXVariable() const; std::string getUpYVariable() const; std::string getUpZVariable() const; std::string getUpXYZVariable() const; std::string getYawVariable() const; std::string getPitchVariable() const; std::string getRollVariable() const; std::string getDirectionYPVariable() const; std::string getDirectionYPRVariable() const; std::string getUniformScaleVariable() const; std::string getScaleXVariable() const; std::string getScaleYVariable() const; std::string getScaleZVariable() const; std::string getScaleXYVariable() const; std::string getScaleXYZVariable() const; void setModel(const std::string &modelPath, const std::string &texturePath = ""); void setModel(const Stock::Models::Model &model); void setKeyFrameModel(const std::string& modelPathA, const std::string& modelPathB, const std::string& lerpVariableName, const std::string& texturePath = ""); void setKeyFrameModel(const Stock::Models::KeyFrameModel& model, const std::string& lerpVariableName); void setModelScale(float xLen, float yLen, float zLen); void setModelScale(float maxLen); void setAutoPalette(const Palette& ap); void setColor(const ColorFunction &cf); void clearColor(); private: std::shared_ptr data; }; } // namespace visualiser } // namespace flamegpu #endif // FLAMEGPU_VISUALISATION #endif // INCLUDE_FLAMEGPU_VISUALISER_AGENTVIS_H_