1.3.49
 
Loading...
Searching...
No Matches
HomogeneousCanopyParameters Struct Reference

Parameters defining the homogeneous canopy. More...

#include <CanopyGenerator.h>

Inheritance diagram for HomogeneousCanopyParameters:
BaseCanopyParameters

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.
 
- Public Member Functions inherited from BaseCanopyParameters
 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")
 
- Data Fields inherited from BaseCanopyParameters
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.
 

Detailed Description

Parameters defining the homogeneous canopy.

Definition at line 57 of file CanopyGenerator.h.

Constructor & Destructor Documentation

◆ HomogeneousCanopyParameters() [1/2]

HomogeneousCanopyParameters::HomogeneousCanopyParameters ( )

Default constructor.

Definition at line 51 of file CanopyGenerator.cpp.

◆ HomogeneousCanopyParameters() [2/2]

HomogeneousCanopyParameters::HomogeneousCanopyParameters ( const pugi::xml_node  canopy_node)
Parameters
[in]canopy_nodeXML node containing the canopy parameters

Definition at line 70 of file CanopyGenerator.cpp.

Member Function Documentation

◆ buildCanopy()

void HomogeneousCanopyParameters::buildCanopy ( CanopyGenerator canopy_generator)
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.

◆ buildPlant()

void HomogeneousCanopyParameters::buildPlant ( CanopyGenerator canopy_generator,
helios::vec3  origin 
)
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.

◆ readParametersFromXML()

void HomogeneousCanopyParameters::readParametersFromXML ( const pugi::xml_node  canopy_node)

Sets canopy parameters from the given XML node.

Parameters
[in]canopy_nodeXML node containing the canopy parameters

Definition at line 74 of file CanopyGenerator.cpp.

Field Documentation

◆ buffer

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.

◆ canopy_extent

helios::vec2 HomogeneousCanopyParameters::canopy_extent

Horizontal extent of the canopy in the x- and y-directions.

Definition at line 101 of file CanopyGenerator.h.

◆ canopy_height

float HomogeneousCanopyParameters::canopy_height

Height of the canopy.

Definition at line 98 of file CanopyGenerator.h.

◆ leaf_angle_distribution

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.

◆ leaf_angle_PDF

std::vector<float> HomogeneousCanopyParameters::leaf_angle_PDF

Definition at line 104 of file CanopyGenerator.h.

◆ leaf_area_index

float HomogeneousCanopyParameters::leaf_area_index

One-sided leaf area index of the canopy.

Definition at line 95 of file CanopyGenerator.h.

◆ leaf_color

helios::RGBcolor HomogeneousCanopyParameters::leaf_color

Leaf color if no texture map file is provided.

Definition at line 89 of file CanopyGenerator.h.

◆ leaf_size

helios::vec2 HomogeneousCanopyParameters::leaf_size

Length of leaf in x- and y- directions (prior to rotation)

Definition at line 80 of file CanopyGenerator.h.

◆ leaf_subdivisions

helios::int2 HomogeneousCanopyParameters::leaf_subdivisions

Number of sub-division segments per leaf.

Definition at line 83 of file CanopyGenerator.h.

◆ leaf_texture_file

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.


The documentation for this struct was generated from the following files: