.. _program_listing_file_include_flamegpu_visualiser_EnvironmentGraphVis.h:

Program Listing for File EnvironmentGraphVis.h
==============================================

|exhale_lsh| :ref:`Return to documentation for file <file_include_flamegpu_visualiser_EnvironmentGraphVis.h>` (``include/flamegpu/visualiser/EnvironmentGraphVis.h``)

.. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS

.. code-block:: cpp

   #ifndef INCLUDE_FLAMEGPU_VISUALISER_ENVIRONMENTGRAPHVIS_H_
   #define INCLUDE_FLAMEGPU_VISUALISER_ENVIRONMENTGRAPHVIS_H_
   #ifdef FLAMEGPU_VISUALISATION
   
   #include <memory>
   #include <string>
   
   #include "flamegpu/visualiser/color/Color.h"
   
   namespace flamegpu {
   struct EnvironmentDirectedGraphData;
   namespace detail {
   class CUDAEnvironmentDirectedGraphBuffers;
   }  // namespace detail
   namespace visualiser {
   struct LineConfig;
   struct EnvironmentGraphVisData {
       explicit EnvironmentGraphVisData(std::shared_ptr <EnvironmentDirectedGraphData> _graphData, std::shared_ptr<LineConfig>_lines);
       void constructGraph(const std::shared_ptr<detail::CUDAEnvironmentDirectedGraphBuffers> &graph);
       std::string x_varName = "";
       std::string y_varName = "";
       std::string z_varName = "";
       std::string xy_varName = "";
       std::string xyz_varName = "";
       Color color;
       const std::shared_ptr<EnvironmentDirectedGraphData> graphData;
       const std::shared_ptr<LineConfig> lines;
   };
   class EnvironmentGraphVis {
    public:
        explicit EnvironmentGraphVis(std::shared_ptr<EnvironmentGraphVisData> data);
   
       void setXVertexProperty(const std::string &var_name);
       void setYVertexProperty(const std::string &var_name);
       void setZVertexProperty(const std::string &var_name);
       void setXYVertexProperty(const std::string &var_name);
       void setXYZVertexProperty(const std::string &var_name);
        void setColor(const Color& cf);
   
    private:
       std::shared_ptr<EnvironmentGraphVisData> data;
   };
   }  // namespace visualiser
   }  // namespace flamegpu
   
   #endif  // FLAMEGPU_VISUALISATION
   #endif  // INCLUDE_FLAMEGPU_VISUALISER_ENVIRONMENTGRAPHVIS_H_