Parameters defining the canopy with conical crowns. More...
#include <CanopyGenerator.h>
Public Member Functions | |
ConicalCrownsCanopyParameters () | |
Default constructor. | |
ConicalCrownsCanopyParameters (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_density |
One-sided leaf area density within spherical crowns. | |
float | crown_radius |
Radius of the conical crowns at the base. | |
float | crown_height |
Height of the conical crowns. | |
std::string | canopy_configuration |
Specifies whether to use a uniformly spaced canopy (canopy_configuration="uniform") or a randomly arranged canopy with non-overlapping crowns (canopy_configuration="random"). | |
helios::vec2 | plant_spacing |
Spacing between adjacent crowns in the x- and y-directions. Note that if canopy_configuration='random' this is the average spacing. | |
helios::int2 | plant_count |
Number of crowns/plants in the x- and y-directions. | |
std::vector< float > | leaf_angle_PDF |
![]() | |
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 canopy with conical crowns.
Definition at line 168 of file CanopyGenerator.h.
ConicalCrownsCanopyParameters::ConicalCrownsCanopyParameters | ( | ) |
Default constructor.
Definition at line 231 of file CanopyGenerator.cpp.
ConicalCrownsCanopyParameters::ConicalCrownsCanopyParameters | ( | const pugi::xml_node | canopy_node | ) |
[in] | canopy_node | XML node containing the canopy parameters |
Definition at line 254 of file CanopyGenerator.cpp.
|
overridevirtual |
Makes the given Canopy generator build a canopy of our type with our parameters.
Implements BaseCanopyParameters.
Definition at line 332 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 328 of file CanopyGenerator.cpp.
void ConicalCrownsCanopyParameters::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 258 of file CanopyGenerator.cpp.
std::string ConicalCrownsCanopyParameters::canopy_configuration |
Specifies whether to use a uniformly spaced canopy (canopy_configuration="uniform") or a randomly arranged canopy with non-overlapping crowns (canopy_configuration="random").
Definition at line 215 of file CanopyGenerator.h.
float ConicalCrownsCanopyParameters::crown_height |
Height of the conical crowns.
Definition at line 212 of file CanopyGenerator.h.
float ConicalCrownsCanopyParameters::crown_radius |
Radius of the conical crowns at the base.
Definition at line 209 of file CanopyGenerator.h.
std::string ConicalCrownsCanopyParameters::leaf_angle_distribution |
Leaf angle distribution - one of "spherical", "uniform", "erectophile", "planophile", "plagiophile", "extremophile".
Definition at line 203 of file CanopyGenerator.h.
std::vector<float> ConicalCrownsCanopyParameters::leaf_angle_PDF |
Definition at line 224 of file CanopyGenerator.h.
float ConicalCrownsCanopyParameters::leaf_area_density |
One-sided leaf area density within spherical crowns.
Definition at line 206 of file CanopyGenerator.h.
helios::RGBcolor ConicalCrownsCanopyParameters::leaf_color |
Leaf color if no texture map file is provided.
Definition at line 200 of file CanopyGenerator.h.
helios::vec2 ConicalCrownsCanopyParameters::leaf_size |
Length of leaf in x- and y- directions (prior to rotation)
Definition at line 191 of file CanopyGenerator.h.
helios::int2 ConicalCrownsCanopyParameters::leaf_subdivisions |
Number of sub-division segments per leaf.
Definition at line 194 of file CanopyGenerator.h.
std::string ConicalCrownsCanopyParameters::leaf_texture_file |
Path to texture map file for leaves. If left empty, no texture will be used.
Definition at line 197 of file CanopyGenerator.h.
helios::int2 ConicalCrownsCanopyParameters::plant_count |
Number of crowns/plants in the x- and y-directions.
Definition at line 221 of file CanopyGenerator.h.
helios::vec2 ConicalCrownsCanopyParameters::plant_spacing |
Spacing between adjacent crowns in the x- and y-directions. Note that if canopy_configuration='random' this is the average spacing.
Definition at line 218 of file CanopyGenerator.h.