Parameters defining the homogeneous canopy. More...
#include <CanopyGenerator.h>
Public Member Functions | |
HomogeneousCanopyParameters () | |
Default constructor. | |
HomogeneousCanopyParameters (const pugi::xml_node canopy_node) | |
void | readParametersFromXML (const pugi::xml_node canopy_node) |
Sets canopy parameters from the given XML node. | |
void | buildPlant (CanopyGenerator &canopy_generator, helios::vec3 origin) override |
Makes the given Canopy generator build a single plant of our canopy type with our parameters at the given position. | |
void | buildCanopy (CanopyGenerator &canopy_generator) override |
Makes the given Canopy generator build a canopy of our type with our parameters. | |
![]() | |
BaseCanopyParameters () | |
Default constructor. | |
BaseCanopyParameters (const pugi::xml_node canopy_node) | |
void | readParametersFromXML (const pugi::xml_node canopy_node) |
Sets canopy parameters from the given XML node. | |
Data Fields | |
helios::vec2 | leaf_size |
Length of leaf in x- and y- directions (prior to rotation) | |
helios::int2 | leaf_subdivisions |
Number of sub-division segments per leaf. | |
std::string | leaf_texture_file |
Path to texture map file for leaves. If left empty, no texture will be used. | |
helios::RGBcolor | leaf_color |
Leaf color if no texture map file is provided. | |
std::string | leaf_angle_distribution |
Leaf angle distribution - one of "spherical", "uniform", "erectophile", "planophile", "plagiophile", "extremophile". | |
float | leaf_area_index |
One-sided leaf area index of the canopy. | |
float | canopy_height |
Height of the canopy. | |
helios::vec2 | canopy_extent |
Horizontal extent of the canopy in the x- and y-directions. | |
std::vector< float > | leaf_angle_PDF |
std::string | buffer |
String specifying whether leaves should be placed so that leaf edges do not fall outside the specified canopy dimensions ("z", "xyz", or "none") | |
![]() | |
helios::vec3 | canopy_origin |
Cartesian (x,y,z) coordinate of the bottom center point of the canopy (i.e., specifying z=0 places the bottom surface of the canopy at z=0). | |
float | canopy_rotation |
Azimuthal rotation of the canopy about the canopy origin. Note that if canopy_rotation is not equal to zero, the plant_spacing and plant_count parameters are defined in the x- and y-directions before rotation. | |
Parameters defining the homogeneous canopy.
Definition at line 57 of file CanopyGenerator.h.
HomogeneousCanopyParameters::HomogeneousCanopyParameters | ( | ) |
Default constructor.
Definition at line 51 of file CanopyGenerator.cpp.
HomogeneousCanopyParameters::HomogeneousCanopyParameters | ( | const pugi::xml_node | canopy_node | ) |
[in] | canopy_node | XML node containing the canopy parameters |
Definition at line 70 of file CanopyGenerator.cpp.
|
overridevirtual |
Makes the given Canopy generator build a canopy of our type with our parameters.
Implements BaseCanopyParameters.
Definition at line 130 of file CanopyGenerator.cpp.
|
overridevirtual |
Makes the given Canopy generator build a single plant of our canopy type with our parameters at the given position.
Implements BaseCanopyParameters.
Definition at line 126 of file CanopyGenerator.cpp.
void HomogeneousCanopyParameters::readParametersFromXML | ( | const pugi::xml_node | canopy_node | ) |
Sets canopy parameters from the given XML node.
[in] | canopy_node | XML node containing the canopy parameters |
Definition at line 74 of file CanopyGenerator.cpp.
std::string HomogeneousCanopyParameters::buffer |
String specifying whether leaves should be placed so that leaf edges do not fall outside the specified canopy dimensions ("z", "xyz", or "none")
Definition at line 107 of file CanopyGenerator.h.
helios::vec2 HomogeneousCanopyParameters::canopy_extent |
Horizontal extent of the canopy in the x- and y-directions.
Definition at line 101 of file CanopyGenerator.h.
float HomogeneousCanopyParameters::canopy_height |
Height of the canopy.
Definition at line 98 of file CanopyGenerator.h.
std::string HomogeneousCanopyParameters::leaf_angle_distribution |
Leaf angle distribution - one of "spherical", "uniform", "erectophile", "planophile", "plagiophile", "extremophile".
Definition at line 92 of file CanopyGenerator.h.
std::vector<float> HomogeneousCanopyParameters::leaf_angle_PDF |
Definition at line 104 of file CanopyGenerator.h.
float HomogeneousCanopyParameters::leaf_area_index |
One-sided leaf area index of the canopy.
Definition at line 95 of file CanopyGenerator.h.
helios::RGBcolor HomogeneousCanopyParameters::leaf_color |
Leaf color if no texture map file is provided.
Definition at line 89 of file CanopyGenerator.h.
helios::vec2 HomogeneousCanopyParameters::leaf_size |
Length of leaf in x- and y- directions (prior to rotation)
Definition at line 80 of file CanopyGenerator.h.
helios::int2 HomogeneousCanopyParameters::leaf_subdivisions |
Number of sub-division segments per leaf.
Definition at line 83 of file CanopyGenerator.h.
std::string HomogeneousCanopyParameters::leaf_texture_file |
Path to texture map file for leaves. If left empty, no texture will be used.
Definition at line 86 of file CanopyGenerator.h.