1.3.64
 
Loading...
Searching...
No Matches
Phytomer Struct Reference

Public Member Functions

 Phytomer (const PhytomerParameters &params, Shoot *parent_shoot, uint phytomer_index, const helios::vec3 &parent_internode_axis, const helios::vec3 &parent_petiole_axis, helios::vec3 internode_base_origin, const AxisRotation &shoot_base_rotation, float internode_radius, float internode_length_max, float internode_length_scale_factor_fraction, float leaf_scale_factor_fraction, uint rank, PlantArchitecture *plantarchitecture_ptr, helios::Context *context_ptr)
 Constructor.
 
std::vector< helios::vec3getInternodeNodePositions () const
 Retrieve the positions of nodes associated with an internode.
 
std::vector< float > getInternodeNodeRadii () const
 Retrieve the radii of nodes associated with an internode.
 
float calculatePhytomerVolume (uint node_number) const
 Calculates the volume of a phytomer.
 
helios::vec3 getInternodeAxisVector (float stem_fraction) const
 Retrieves the axis vector of the internode at a given fraction along the internode.
 
helios::vec3 getPetioleAxisVector (float stem_fraction, uint petiole_index) const
 Retrieves the petiole axis vector for a given stem fraction and petiole index.
 
helios::vec3 getPeduncleAxisVector (float stem_fraction, uint petiole_index, uint bud_index) const
 Retrieves the peduncle axis vector for a given stem fraction, petiole index, and floral bud index.
 
float getInternodeLength () const
 Computes the total length of the internode.
 
float getInternodeRadius () const
 Retrieves the radius of the internode.
 
float getPetioleLength () const
 Retrieves the length of the petiole.
 
float getInternodeRadius (float stem_fraction) const
 Retrieves the radius of the internode based on the stem fraction.
 
float getLeafArea () const
 Calculates the total leaf area for the current phytomer.
 
helios::vec3 getLeafBasePosition (uint petiole_index, uint leaf_index) const
 Retrieves the position of the base of a leaf within the phytomer.
 
bool hasLeaf () const
 Checks if the phytomer has a leaf.
 
float calculateDownstreamLeafArea () const
 Calculates the total leaf area downstream of the current phytomer.
 
void setInternodeLengthScaleFraction (float internode_scale_factor_fraction, bool update_context_geometry)
 Set the current internode length as a fraction of its maximum length.
 
void scaleInternodeMaxLength (float scale_factor)
 Scale the fully-elongated (maximum) internode length as a fraction of its current fully-elongated length.
 
void setInternodeMaxLength (float internode_length_max_new)
 Set the fully-elongated (maximum) internode length.
 
void setInternodeMaxRadius (float internode_radius_max_new)
 Set the maximum radius of the internode.
 
void setLeafScaleFraction (uint petiole_index, float leaf_scale_factor_fraction)
 Set the leaf scale as a fraction of its total fully-elongated scale factor. Value is uniformly applied for all leaves/leaflets in the petiole.
 
void setLeafScaleFraction (float leaf_scale_factor_fraction)
 Set the leaf scale as a fraction of its total fully-elongated scale factor for all petioles in the phytomer. Value is uniformly applied for all leaves/leaflets in the phytomer.
 
void setLeafPrototypeScale (uint petiole_index, float leaf_prototype_scale)
 Set the fully-elongated (maximum) leaf prototype scale. Value is uniformly applied for all leaves/leaflets in the petiole.
 
void setLeafPrototypeScale (float leaf_prototype_scale)
 Set the fully-elongated (maximum) leaf prototype scale for all petioles in the phytomer. Value is uniformly applied for all leaves/leaflets in the petiole.
 
void scaleLeafPrototypeScale (uint petiole_index, float scale_factor)
 Scales the leaf prototype by the given scale factor. Value is uniformly applied for all leaves/leaflets in the petiole.
 
void scaleLeafPrototypeScale (float scale_factor)
 Scales the leaf prototype by the given scale factor for all petioles in the phytomer. Value is uniformly applied for all leaves/leaflets in the petiole.
 
void scalePetioleGeometry (uint petiole_index, float target_length, float target_base_radius)
 Scale petiole geometry to match target length and radius.
 
void setInflorescenceScaleFraction (FloralBud &fbud, float inflorescence_scale_factor_fraction) const
 Sets the scaling fraction for the inflorescence of a floral bud.
 
void setPetioleBase (const helios::vec3 &base_position)
 Sets the base position of the petiole to the specified position.
 
void rotateLeaf (uint petiole_index, uint leaf_index, const AxisRotation &rotation)
 Rotates a specified leaf around its base using the given rotation parameters.
 
void setVegetativeBudState (BudState state)
 Sets the vegetative bud state for all axillary vegetative buds in the phytomer.
 
void setVegetativeBudState (BudState state, uint petiole_index, uint bud_index)
 Sets the state of a vegetative bud at the specified petiole and bud indices.
 
void setFloralBudState (BudState state)
 Sets the floral bud state for all non-terminal buds.
 
void setFloralBudState (BudState state, uint petiole_index, uint bud_index)
 Sets the state of a specific floral bud.
 
void setFloralBudState (BudState state, FloralBud &fbud)
 Sets the state of a floral bud.
 
void removeLeaf ()
 Removes the leaf and its associated properties from the phytomer.
 
void deletePhytomer ()
 Deletes the phytomer and its associated components.
 

Static Public Member Functions

static helios::vec3 getAxisVector (float stem_fraction, const std::vector< helios::vec3 > &axis_vertices)
 Computes the normalized vector direction along the axis at a given fraction of the stem.
 
static void setVegetativeBudState (BudState state, VegetativeBud &vbud)
 Sets the vegetative bud's state to the specified state.
 

Data Fields

std::vector< std::vector< helios::vec3 > > petiole_vertices
 Coordinates of internode tube segments. Index is tube segment within internode.
 
std::vector< std::vector< helios::vec3 > > leaf_bases
 
std::vector< std::vector< std::vector< helios::vec3 > > > peduncle_vertices
 
std::vector< std::vector< std::vector< float > > > peduncle_radii
 
std::vector< std::vector< float > > peduncle_length
 
std::vector< std::vector< float > > peduncle_radius
 
std::vector< std::vector< float > > peduncle_pitch
 
std::vector< std::vector< float > > peduncle_curvature
 
float internode_pitch
 
float internode_phyllotactic_angle
 
std::vector< std::vector< float > > petiole_radii
 
std::vector< float > petiole_length
 
std::vector< float > petiole_pitch
 
std::vector< float > petiole_curvature
 
std::vector< float > petiole_taper
 
std::vector< helios::vec3petiole_axis_initial
 
std::vector< helios::vec3petiole_rotation_axis
 
std::vector< std::vector< float > > leaf_size_max
 
std::vector< std::vector< AxisRotation > > leaf_rotation
 
std::vector< helios::RGBcolorinternode_colors
 
std::vector< helios::RGBcolorpetiole_colors
 
std::vector< std::vector< uint > > petiole_objIDs
 
std::vector< std::vector< uint > > leaf_objIDs
 
PhytomerParameters phytomer_parameters
 
uint rank
 
helios::int3 shoot_index
 .x = index of phytomer along shoot, .y = current number of phytomers on parent shoot, .z = maximum number of phytomers on parent shoot
 
uint plantID
 
uint parent_shoot_ID
 
Shootparent_shoot_ptr
 
float age = 0
 Time since the phytomer was created.
 
bool isdormant = false
 
float current_internode_scale_factor = 1
 
std::vector< float > current_leaf_scale_factor
 
float old_phytomer_volume = 0
 
float downstream_leaf_area = 0
 
std::vector< std::vector< VegetativeBud > > axillary_vegetative_buds
 
std::vector< std::vector< FloralBud > > floral_buds
 
float internode_radius_initial
 
float internode_radius_max
 
float internode_length_max
 
std::vector< float > internode_curvature_perturbations
 Stochastic curvature perturbation values for each internode segment (for exact XML reconstruction)
 
std::vector< float > internode_yaw_perturbations
 Stochastic yaw perturbation values for each internode segment (for exact XML reconstruction)
 
bool build_context_geometry_petiole = true
 
bool build_context_geometry_peduncle = true
 

Friends

struct Shoot
 
class PlantArchitecture
 

Detailed Description

Definition at line 1022 of file PlantArchitecture.h.

Constructor & Destructor Documentation

◆ Phytomer()

Phytomer::Phytomer ( const PhytomerParameters params,
Shoot parent_shoot,
uint  phytomer_index,
const helios::vec3 parent_internode_axis,
const helios::vec3 parent_petiole_axis,
helios::vec3  internode_base_origin,
const AxisRotation shoot_base_rotation,
float  internode_radius,
float  internode_length_max,
float  internode_length_scale_factor_fraction,
float  leaf_scale_factor_fraction,
uint  rank,
PlantArchitecture plantarchitecture_ptr,
helios::Context context_ptr 
)

Constructor.

Definition at line 1445 of file PlantArchitecture.cpp.

Member Function Documentation

◆ calculateDownstreamLeafArea()

float Phytomer::calculateDownstreamLeafArea ( ) const

Calculates the total leaf area downstream of the current phytomer.

Returns
The total downstream leaf area as a float.

Definition at line 3026 of file PlantArchitecture.cpp.

◆ calculatePhytomerVolume()

float Phytomer::calculatePhytomerVolume ( uint  node_number) const

Calculates the volume of a phytomer.

Parameters
[in]node_numberThe node index of the phytomer whose volume is to be computed.
Returns
The calculated volume of the phytomer.

Definition at line 2110 of file PlantArchitecture.cpp.

◆ deletePhytomer()

void Phytomer::deletePhytomer ( )

Deletes the phytomer and its associated components.

This method handles the cleanup and deletion of all parts associated with the phytomer, including internode, leaves, inflorescence structures, and any child or subsequent phytomers within the shoot.

Definition at line 2956 of file PlantArchitecture.cpp.

◆ getAxisVector()

helios::vec3 Phytomer::getAxisVector ( float  stem_fraction,
const std::vector< helios::vec3 > &  axis_vertices 
)
static

Computes the normalized vector direction along the axis at a given fraction of the stem.

Parameters
[in]stem_fractionFraction along the stem (value between 0.0 and 1.0) for which the axis vector is computed.
[in]axis_verticesA list of 3D points defining the vertices of the axis.
Returns
A normalized vector direction at the given fraction along the axis.

Definition at line 389 of file PlantArchitecture.cpp.

◆ getInternodeAxisVector()

helios::vec3 Phytomer::getInternodeAxisVector ( float  stem_fraction) const

Retrieves the axis vector of the internode at a given fraction along the internode.

Parameters
[in]stem_fractionFraction along the stem (value between 0.0 and 1.0) for which the axis vector is computed.
Returns
A vec3 representing the axis vector of the internode at the specified internode fraction.

Definition at line 368 of file PlantArchitecture.cpp.

◆ getInternodeLength()

float Phytomer::getInternodeLength ( ) const

Computes the total length of the internode.

Returns
The cumulative length of the internode based on its node positions.

Definition at line 415 of file PlantArchitecture.cpp.

◆ getInternodeNodePositions()

std::vector< helios::vec3 > Phytomer::getInternodeNodePositions ( ) const

Retrieve the positions of nodes associated with an internode.

Returns
A vector of vec3 objects representing the node positions for the current internode.

Definition at line 348 of file PlantArchitecture.cpp.

◆ getInternodeNodeRadii()

std::vector< float > Phytomer::getInternodeNodeRadii ( ) const

Retrieve the radii of nodes associated with an internode.

Returns
A vector of floats representing the radii of the nodes for the current internode.

Definition at line 358 of file PlantArchitecture.cpp.

◆ getInternodeRadius() [1/2]

float Phytomer::getInternodeRadius ( ) const

Retrieves the radius of the internode.

Returns
The radius of the internode.

Definition at line 411 of file PlantArchitecture.cpp.

◆ getInternodeRadius() [2/2]

float Phytomer::getInternodeRadius ( float  stem_fraction) const

Retrieves the radius of the internode based on the stem fraction.

Parameters
[in]stem_fractionFraction along the stem (value between 0.0 and 1.0) for which the radius is computed.
Returns
The radius of the internode at the specified stem fraction.

Definition at line 429 of file PlantArchitecture.cpp.

◆ getLeafArea()

float Phytomer::getLeafArea ( ) const

Calculates the total leaf area for the current phytomer.

Returns
Total leaf area as a float value.

Definition at line 433 of file PlantArchitecture.cpp.

◆ getLeafBasePosition()

helios::vec3 Phytomer::getLeafBasePosition ( uint  petiole_index,
uint  leaf_index 
) const

Retrieves the position of the base of a leaf within the phytomer.

Parameters
[in]petiole_indexIndex of the petiole within the phytomer structure.
[in]leaf_indexIndex of the leaf within the specified petiole.
Returns
A vec3 indicating the position of the leaf base.

Definition at line 450 of file PlantArchitecture.cpp.

◆ getPeduncleAxisVector()

helios::vec3 Phytomer::getPeduncleAxisVector ( float  stem_fraction,
uint  petiole_index,
uint  bud_index 
) const

Retrieves the peduncle axis vector for a given stem fraction, petiole index, and floral bud index.

Parameters
[in]stem_fractionFraction along the peduncle (value between 0.0 and 1.0) for which the axis vector is computed.
[in]petiole_indexIndex of the petiole containing the floral bud.
[in]bud_indexIndex of the floral bud within the petiole.
Returns
The axis vector of the specified peduncle as a helios::vec3.

Definition at line 379 of file PlantArchitecture.cpp.

◆ getPetioleAxisVector()

helios::vec3 Phytomer::getPetioleAxisVector ( float  stem_fraction,
uint  petiole_index 
) const

Retrieves the petiole axis vector for a given stem fraction and petiole index.

Parameters
[in]stem_fractionFraction along the stem (value between 0.0 and 1.0) for which the axis vector is computed.
[in]petiole_indexIndex of the petiole for which the axis vector is retrieved.
Returns
The axis vector of the specified petiole as a helios::vec3.

Definition at line 372 of file PlantArchitecture.cpp.

◆ getPetioleLength()

float Phytomer::getPetioleLength ( ) const

Retrieves the length of the petiole.

Returns
Length of the petiole.

Definition at line 424 of file PlantArchitecture.cpp.

◆ hasLeaf()

bool Phytomer::hasLeaf ( ) const

Checks if the phytomer has a leaf.

Returns
True if the phytomer has at least one leaf, false otherwise.

Definition at line 3022 of file PlantArchitecture.cpp.

◆ removeLeaf()

void Phytomer::removeLeaf ( )

Removes the leaf and its associated properties from the phytomer.

This function resets the phytomer's leaf-related attributes, such as petiole radii, vertices, colors, length, and other geometric properties. It also removes associated objects from the context.

Definition at line 2935 of file PlantArchitecture.cpp.

◆ rotateLeaf()

void Phytomer::rotateLeaf ( uint  petiole_index,
uint  leaf_index,
const AxisRotation rotation 
)

Rotates a specified leaf around its base using the given rotation parameters.

This function adjusts the leaf's orientation based on the specified petiole and leaf indices and applies the provided axis rotation values.

Parameters
[in]petiole_indexIndex identifying the petiole to which the leaf belongs
[in]leaf_indexIndex of the specific leaf within the petiole
[in]rotationAxisRotation object containing pitch, roll, and yaw values for the rotation

Definition at line 2557 of file PlantArchitecture.cpp.

◆ scaleInternodeMaxLength()

void Phytomer::scaleInternodeMaxLength ( float  scale_factor)

Scale the fully-elongated (maximum) internode length as a fraction of its current fully-elongated length.

Parameters
[in]scale_factorFraction by which to scale the fully-elongated internode length

Definition at line 2654 of file PlantArchitecture.cpp.

◆ scaleLeafPrototypeScale() [1/2]

void Phytomer::scaleLeafPrototypeScale ( float  scale_factor)

Scales the leaf prototype by the given scale factor for all petioles in the phytomer. Value is uniformly applied for all leaves/leaflets in the petiole.

Parameters
[in]scale_factorFactor by which to scale the leaf prototype. Values less than 0 are clamped to 0.

Definition at line 2817 of file PlantArchitecture.cpp.

◆ scaleLeafPrototypeScale() [2/2]

void Phytomer::scaleLeafPrototypeScale ( uint  petiole_index,
float  scale_factor 
)

Scales the leaf prototype by the given scale factor. Value is uniformly applied for all leaves/leaflets in the petiole.

This function scales the leaf prototype geometry by the specified factor.

Parameters
petiole_indexIndex of the petiole to which the leaf belongs
[in]scale_factorFactor by which to scale the leaf prototype. Values less than 0 are clamped to 0.

Definition at line 2793 of file PlantArchitecture.cpp.

◆ scalePetioleGeometry()

void Phytomer::scalePetioleGeometry ( uint  petiole_index,
float  target_length,
float  target_base_radius 
)

Scale petiole geometry to match target length and radius.

This function rescales an existing petiole's 3D geometry (vertices and radii) to match the specified target dimensions. Used during XML deserialization to restore actual petiole sizes that may differ from parameter-based values.

Parameters
petiole_indexIndex of the petiole to scale
target_lengthTarget total length of the petiole in meters
target_base_radiusTarget radius at the petiole base in meters

Definition at line 2823 of file PlantArchitecture.cpp.

◆ setFloralBudState() [1/3]

void Phytomer::setFloralBudState ( BudState  state)

Sets the floral bud state for all non-terminal buds.

Parameters
[in]stateNew BudState to apply to all non-terminal buds.

Definition at line 483 of file PlantArchitecture.cpp.

◆ setFloralBudState() [2/3]

void Phytomer::setFloralBudState ( BudState  state,
FloralBud fbud 
)

Sets the state of a floral bud.

Parameters
[in]stateNew state to set for the floral bud.
[in,out]fbudReference to the FloralBud object whose state is to be updated.

Definition at line 503 of file PlantArchitecture.cpp.

◆ setFloralBudState() [3/3]

void Phytomer::setFloralBudState ( BudState  state,
uint  petiole_index,
uint  bud_index 
)

Sets the state of a specific floral bud.

Parameters
[in]stateThe new state to set for the floral bud.
[in]petiole_indexThe index of the petiole containing the target bud.
[in]bud_indexThe index of the bud within the specified petiole.

Definition at line 493 of file PlantArchitecture.cpp.

◆ setInflorescenceScaleFraction()

void Phytomer::setInflorescenceScaleFraction ( FloralBud fbud,
float  inflorescence_scale_factor_fraction 
) const

Sets the scaling fraction for the inflorescence of a floral bud.

Parameters
[in]fbudReference to the floral bud object whose inflorescence scaling will be updated.
[in]inflorescence_scale_factor_fractionFractional value (between 0 and 1) representing the new scale factor for the inflorescence.

Definition at line 2918 of file PlantArchitecture.cpp.

◆ setInternodeLengthScaleFraction()

void Phytomer::setInternodeLengthScaleFraction ( float  internode_scale_factor_fraction,
bool  update_context_geometry 
)

Set the current internode length as a fraction of its maximum length.

Parameters
[in]internode_scale_factor_fractionFraction of the maximum internode length
[in]update_context_geometryIf true, the context geometry will be immediately updated to reflect the new internode length. If false, the geometry will be updated the next time Context geometry information is needed.

Definition at line 2613 of file PlantArchitecture.cpp.

◆ setInternodeMaxLength()

void Phytomer::setInternodeMaxLength ( float  internode_length_max_new)

Set the fully-elongated (maximum) internode length.

Parameters
[in]internode_length_max_newFully-elongated length of the internode

Definition at line 2665 of file PlantArchitecture.cpp.

◆ setInternodeMaxRadius()

void Phytomer::setInternodeMaxRadius ( float  internode_radius_max_new)

Set the maximum radius of the internode.

Parameters
[in]internode_radius_max_newMaximum radius of the internode

Definition at line 2670 of file PlantArchitecture.cpp.

◆ setLeafPrototypeScale() [1/2]

void Phytomer::setLeafPrototypeScale ( float  leaf_prototype_scale)

Set the fully-elongated (maximum) leaf prototype scale for all petioles in the phytomer. Value is uniformly applied for all leaves/leaflets in the petiole.

Parameters
[in]leaf_prototype_scaleLeaf scale factor for fully-elongated leaf

Definition at line 2787 of file PlantArchitecture.cpp.

◆ setLeafPrototypeScale() [2/2]

void Phytomer::setLeafPrototypeScale ( uint  petiole_index,
float  leaf_prototype_scale 
)

Set the fully-elongated (maximum) leaf prototype scale. Value is uniformly applied for all leaves/leaflets in the petiole.

Parameters
petiole_indexIndex of the petiole to which the leaf belongs
[in]leaf_prototype_scaleLeaf scale factor for fully-elongated leaf

Definition at line 2761 of file PlantArchitecture.cpp.

◆ setLeafScaleFraction() [1/2]

void Phytomer::setLeafScaleFraction ( float  leaf_scale_factor_fraction)

Set the leaf scale as a fraction of its total fully-elongated scale factor for all petioles in the phytomer. Value is uniformly applied for all leaves/leaflets in the phytomer.

Parameters
[in]leaf_scale_factor_fractionFraction of the total fully-elongated leaf scale factor (i.e., =1 for fully-elongated leaf)

Definition at line 2755 of file PlantArchitecture.cpp.

◆ setLeafScaleFraction() [2/2]

void Phytomer::setLeafScaleFraction ( uint  petiole_index,
float  leaf_scale_factor_fraction 
)

Set the leaf scale as a fraction of its total fully-elongated scale factor. Value is uniformly applied for all leaves/leaflets in the petiole.

Parameters
petiole_indexIndex of the petiole to which the leaf belongs
[in]leaf_scale_factor_fractionFraction of the total fully-elongated leaf scale factor (i.e., =1 for fully-elongated leaf)

Definition at line 2675 of file PlantArchitecture.cpp.

◆ setPetioleBase()

void Phytomer::setPetioleBase ( const helios::vec3 base_position)

Sets the base position of the petiole to the specified position.

Updates the position of the petiole, leaf bases, and floral buds, ensuring all associated geometry and objects are translated accordingly.

Parameters
[in]base_positionNew base position for the petiole

Definition at line 2509 of file PlantArchitecture.cpp.

◆ setVegetativeBudState() [1/3]

void Phytomer::setVegetativeBudState ( BudState  state)

Sets the vegetative bud state for all axillary vegetative buds in the phytomer.

Parameters
[in]stateThe new state to apply to the vegetative buds.

Definition at line 461 of file PlantArchitecture.cpp.

◆ setVegetativeBudState() [2/3]

void Phytomer::setVegetativeBudState ( BudState  state,
uint  petiole_index,
uint  bud_index 
)

Sets the state of a vegetative bud at the specified petiole and bud indices.

Parameters
[in]stateThe desired vegetative bud state.
[in]petiole_indexIndex of the petiole where the bud is located.
[in]bud_indexIndex of the bud within the specified petiole.

Definition at line 469 of file PlantArchitecture.cpp.

◆ setVegetativeBudState() [3/3]

void Phytomer::setVegetativeBudState ( BudState  state,
VegetativeBud vbud 
)
static

Sets the vegetative bud's state to the specified state.

Parameters
[in]stateThe desired state to set for the vegetative bud.
[in,out]vbudReference to the vegetative bud whose state will be modified.

Definition at line 479 of file PlantArchitecture.cpp.

Friends And Related Symbol Documentation

◆ PlantArchitecture

friend class PlantArchitecture
friend

Definition at line 1500 of file PlantArchitecture.h.

◆ Shoot

friend struct Shoot
friend

Definition at line 1499 of file PlantArchitecture.h.

Field Documentation

◆ age

float Phytomer::age = 0

Time since the phytomer was created.

Definition at line 1426 of file PlantArchitecture.h.

◆ axillary_vegetative_buds

std::vector<std::vector<VegetativeBud> > Phytomer::axillary_vegetative_buds

Definition at line 1436 of file PlantArchitecture.h.

◆ build_context_geometry_peduncle

bool Phytomer::build_context_geometry_peduncle = true

Definition at line 1447 of file PlantArchitecture.h.

◆ build_context_geometry_petiole

bool Phytomer::build_context_geometry_petiole = true

Definition at line 1446 of file PlantArchitecture.h.

◆ current_internode_scale_factor

float Phytomer::current_internode_scale_factor = 1

Definition at line 1429 of file PlantArchitecture.h.

◆ current_leaf_scale_factor

std::vector<float> Phytomer::current_leaf_scale_factor

Definition at line 1430 of file PlantArchitecture.h.

◆ downstream_leaf_area

float Phytomer::downstream_leaf_area = 0

Definition at line 1434 of file PlantArchitecture.h.

◆ floral_buds

std::vector<std::vector<FloralBud> > Phytomer::floral_buds

Definition at line 1437 of file PlantArchitecture.h.

◆ internode_colors

std::vector<helios::RGBcolor> Phytomer::internode_colors

Definition at line 1409 of file PlantArchitecture.h.

◆ internode_curvature_perturbations

std::vector<float> Phytomer::internode_curvature_perturbations

Stochastic curvature perturbation values for each internode segment (for exact XML reconstruction)

Definition at line 1443 of file PlantArchitecture.h.

◆ internode_length_max

float Phytomer::internode_length_max

Definition at line 1441 of file PlantArchitecture.h.

◆ internode_phyllotactic_angle

float Phytomer::internode_phyllotactic_angle

Definition at line 1397 of file PlantArchitecture.h.

◆ internode_pitch

float Phytomer::internode_pitch

Definition at line 1397 of file PlantArchitecture.h.

◆ internode_radius_initial

float Phytomer::internode_radius_initial

Definition at line 1439 of file PlantArchitecture.h.

◆ internode_radius_max

float Phytomer::internode_radius_max

Definition at line 1440 of file PlantArchitecture.h.

◆ internode_yaw_perturbations

std::vector<float> Phytomer::internode_yaw_perturbations

Stochastic yaw perturbation values for each internode segment (for exact XML reconstruction)

Definition at line 1444 of file PlantArchitecture.h.

◆ isdormant

bool Phytomer::isdormant = false

Definition at line 1427 of file PlantArchitecture.h.

◆ leaf_bases

std::vector<std::vector<helios::vec3> > Phytomer::leaf_bases

Definition at line 1390 of file PlantArchitecture.h.

◆ leaf_objIDs

std::vector<std::vector<uint> > Phytomer::leaf_objIDs

Definition at line 1413 of file PlantArchitecture.h.

◆ leaf_rotation

std::vector<std::vector<AxisRotation> > Phytomer::leaf_rotation

Definition at line 1407 of file PlantArchitecture.h.

◆ leaf_size_max

std::vector<std::vector<float> > Phytomer::leaf_size_max

Definition at line 1406 of file PlantArchitecture.h.

◆ old_phytomer_volume

float Phytomer::old_phytomer_volume = 0

Definition at line 1432 of file PlantArchitecture.h.

◆ parent_shoot_ID

uint Phytomer::parent_shoot_ID

Definition at line 1422 of file PlantArchitecture.h.

◆ parent_shoot_ptr

Shoot* Phytomer::parent_shoot_ptr

Definition at line 1423 of file PlantArchitecture.h.

◆ peduncle_curvature

std::vector<std::vector<float> > Phytomer::peduncle_curvature

Definition at line 1396 of file PlantArchitecture.h.

◆ peduncle_length

std::vector<std::vector<float> > Phytomer::peduncle_length

Definition at line 1393 of file PlantArchitecture.h.

◆ peduncle_pitch

std::vector<std::vector<float> > Phytomer::peduncle_pitch

Definition at line 1395 of file PlantArchitecture.h.

◆ peduncle_radii

std::vector<std::vector<std::vector<float> > > Phytomer::peduncle_radii

Definition at line 1392 of file PlantArchitecture.h.

◆ peduncle_radius

std::vector<std::vector<float> > Phytomer::peduncle_radius

Definition at line 1394 of file PlantArchitecture.h.

◆ peduncle_vertices

std::vector<std::vector<std::vector<helios::vec3> > > Phytomer::peduncle_vertices

Definition at line 1391 of file PlantArchitecture.h.

◆ petiole_axis_initial

std::vector<helios::vec3> Phytomer::petiole_axis_initial

Definition at line 1404 of file PlantArchitecture.h.

◆ petiole_colors

std::vector<helios::RGBcolor> Phytomer::petiole_colors

Definition at line 1410 of file PlantArchitecture.h.

◆ petiole_curvature

std::vector<float> Phytomer::petiole_curvature

Definition at line 1402 of file PlantArchitecture.h.

◆ petiole_length

std::vector<float> Phytomer::petiole_length

Definition at line 1400 of file PlantArchitecture.h.

◆ petiole_objIDs

std::vector<std::vector<uint> > Phytomer::petiole_objIDs

Definition at line 1412 of file PlantArchitecture.h.

◆ petiole_pitch

std::vector<float> Phytomer::petiole_pitch

Definition at line 1401 of file PlantArchitecture.h.

◆ petiole_radii

std::vector<std::vector<float> > Phytomer::petiole_radii

Definition at line 1399 of file PlantArchitecture.h.

◆ petiole_rotation_axis

std::vector<helios::vec3> Phytomer::petiole_rotation_axis

Definition at line 1405 of file PlantArchitecture.h.

◆ petiole_taper

std::vector<float> Phytomer::petiole_taper

Definition at line 1403 of file PlantArchitecture.h.

◆ petiole_vertices

std::vector<std::vector<helios::vec3> > Phytomer::petiole_vertices

Coordinates of internode tube segments. Index is tube segment within internode.

Definition at line 1389 of file PlantArchitecture.h.

◆ phytomer_parameters

PhytomerParameters Phytomer::phytomer_parameters

Definition at line 1415 of file PlantArchitecture.h.

◆ plantID

uint Phytomer::plantID

Definition at line 1421 of file PlantArchitecture.h.

◆ rank

uint Phytomer::rank

Definition at line 1417 of file PlantArchitecture.h.

◆ shoot_index

helios::int3 Phytomer::shoot_index

.x = index of phytomer along shoot, .y = current number of phytomers on parent shoot, .z = maximum number of phytomers on parent shoot

Definition at line 1419 of file PlantArchitecture.h.


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