Class EnvironmentDirectedGraphDescription

Inheritance Relationships

Base Type

Class Documentation

class EnvironmentDirectedGraphDescription : public flamegpu::CEnvironmentDirectedGraphDescription

Public Functions

explicit EnvironmentDirectedGraphDescription(std::shared_ptr<EnvironmentDirectedGraphData> data)

Constructor, creates an interface to the EnvironmentDirectedGraphData Constructors

Parameters:

data – Data store of this directed graph’s data

EnvironmentDirectedGraphDescription(const EnvironmentDirectedGraphDescription &other_graph) = default

Copy constructor Creates a new interface to the same EnvironmentDirectedGraphData/ModelData

EnvironmentDirectedGraphDescription(EnvironmentDirectedGraphDescription &&other_graph) = default
EnvironmentDirectedGraphDescription &operator=(const EnvironmentDirectedGraphDescription &other_graph) = default

Assignment operator Assigns this interface to the same EnvironmentDirectedGraphData/ModelData

EnvironmentDirectedGraphDescription &operator=(EnvironmentDirectedGraphDescription &&other_graph) = default
template<typename T, size_type N>
void newVertexProperty(const std::string &property_name, const std::array<T, N> &default_value = {})

Adds a new property array to the graph

Parameters:
  • property_name – Name of the vertex property array

  • default_value – Default value of vertex property for vertex if unset, defaults to each element set 0

Template Parameters:
  • T – Type of the graph property, this must be an arithmetic type

  • N – The length of the property array (1 if not an array, must be greater than 0)

Throws:
template<typename T, size_type N>
void newEdgeProperty(const std::string &property_name, const std::array<T, N> &default_value = {})

Adds a new property array to the graph

Parameters:
  • property_name – Name of the property array

  • default_value – Default value of edge property for edges if unset, defaults to each element set 0

Template Parameters:
  • T – Type of the graph property, this must be an arithmetic type

  • N – The length of the property array (1 if not an array, must be greater than 0)

Throws:
template<typename T>
void newVertexProperty(const std::string &property_name, const T &default_value = {})

Adds a new property to the graph

Parameters:
  • property_name – Name of the property

  • default_value – Default value of vertex property for vertices if unset, defaults to 0

Template Parameters:

T – Type of the graph property, this must be an arithmetic type

Throws:

exception::InvalidGraphProperty – If a property already exists within the graph with the same name

template<typename T>
void newEdgeProperty(const std::string &property_name, const T &default_value = {})

Adds a new property to the graph

Parameters:
  • property_name – Name of the property

  • default_value – Default value of edge property for edges if unset, defaults to 0

Template Parameters:

T – Type of the graph property, this must be an arithmetic type

Throws:

exception::InvalidGraphProperty – If a property already exists within the graph with the same name