Alternaria
fit cylinders and ellipsoids to fungus
|
An Alternaria structure element postioned laterally along another structure element. More...
#include <structure.h>
Public Member Functions | |
Lateral_structure (float centroid_x, float centroid_y, float centroid_z, float lat_dist, float length, float width, float base_theta, float base_psi, float theta, float psi, float opacity, size_t level, const class Lateral_structure_density *density) throw (jwscxx::base::Arg_error) | |
Creates a parent-less Lateral_structure positioned w.r.t. a centroid. | |
Lateral_structure (Structure *parent, float lat_dist, float length, float width, float base_theta, float base_psi, float theta, float psi, float opacity, const class Lateral_structure_density *density) throw (jwscxx::base::Arg_error) | |
Creates a Lateral_structure positioned w.r.t. a parent. | |
Lateral_structure (const Lateral_structure &s) | |
Constructs a Lateral_structure by copying another. | |
virtual Lateral_structure * | clone () const =0 |
Clones this Lateral_structure. | |
virtual Lateral_structure * | recursively_clone () const |
Recursively clones this Lateral_structure and all its descendents. | |
virtual Lateral_structure & | operator= (const Lateral_structure &s) |
Copies a Lateral_structure into this Lateral_structure. | |
virtual | ~Lateral_structure () |
Deletes a Lateral_structure. | |
float | get_lat_dist () const |
Returns the normalized distance of this Lateral_structure from the begin_pt of its parent. | |
void | set_parent (Structure *parent, float lat_dist) throw (jwscxx::base::Arg_error) |
Sets this Lateral_structure::lat_dist and parent. | |
void | set_lat_dist (float lat_dist) throw (jwscxx::base::Arg_error) |
Sets this Lateral_structure::lat_dist. | |
class Lateral_structure_density * | get_density () const |
Returns the density parameters used by this Structure. | |
virtual void | print (ostream &out=std::cout) const |
Prints this Lateral_structure to an output stream. | |
Protected Member Functions | |
void | update_from_parent_end_pt () throw (jwscxx::base::Arg_error) |
Updates the Lateral_structure to reflect the parent's Structure::end_pt. | |
void | update_log_prob () |
Updates Structure::log_prob. | |
void | check_centroid () const throw (jwscxx::base::Arg_error) |
Checks the centroid of this Lateral_structure against its density range. | |
void | check_lat_dist () const throw (jwscxx::base::Arg_error) |
Checks the lateral distance of this Lateral_structure against its density range. | |
Protected Attributes | |
class Lateral_structure_density * | density |
Parameters for density functions over a Lateral_structure. | |
float | lat_dist |
Normalized distance to the lateral from its parent's Structure::begin_pt. | |
Friends | |
class | Structure |
class | Apical_structure |
An Alternaria structure element postioned laterally along another structure element.
Abstract class providing some basic functionality for all Alternaria lateral structure elements.
Definition at line 1254 of file structure.h.
Lateral_structure::Lateral_structure | ( | float | centroid_x, |
float | centroid_y, | ||
float | centroid_z, | ||
float | lat_dist, | ||
float | length, | ||
float | width, | ||
float | base_theta, | ||
float | base_psi, | ||
float | theta, | ||
float | psi, | ||
float | opacity, | ||
size_t | level, | ||
const class Lateral_structure_density * | density | ||
) | throw (jwscxx::base::Arg_error) |
Creates a parent-less Lateral_structure positioned w.r.t. a centroid.
centroid_x | X-coord of the Structure::centroid. |
centroid_y | Y-coord of the Structure::centroid. |
centroid_z | Z-coord of the Structure::centroid. |
lat_dist | Normalized distance from parent Structure::begin_pt. |
length | Length from the Structure::begin_pt to Structure::end_pt. |
width | Width of the Structure. |
base_theta | Euler angle: base rotation about the x-axis. |
base_psi | Euler angle: base rotation about the z-axis. |
theta | Euler angle: rotation about the x-axis. |
psi | Euler angle: rotation about the z-axis. |
opacity | Opacity of the lateral. |
level | Level of the lateral. |
density | Structure_density parameters for probabilities. |
jwscxx::base::Arg_error | Lateral_structure values are not in the density parameter ranges. |
Definition at line 3271 of file structure.cpp.
Lateral_structure::Lateral_structure | ( | Structure * | parent, |
float | lat_dist, | ||
float | length, | ||
float | width, | ||
float | base_theta, | ||
float | base_psi, | ||
float | theta, | ||
float | psi, | ||
float | opacity, | ||
const class Lateral_structure_density * | density | ||
) | throw (jwscxx::base::Arg_error) |
Creates a Lateral_structure positioned w.r.t. a parent.
parent | Parent Structure. |
lat_dist | Normalized distance from parent Structure::begin_pt. |
length | Length from the Structure::begin_pt to Structure::end_pt. |
width | Width of the Structure. |
base_theta | Euler angle: base rotation about the x-axis. |
base_psi | Euler angle: base rotation about the z-axis. |
theta | Euler angle: rotation about the x-axis. |
psi | Euler angle: rotation about the z-axis. |
opacity | Opacity of the Spore. |
density | Structure_density parameters for probabilities. |
jwscxx::base::Arg_error | Lateral_structure values are not in the density parameter range. |
Definition at line 3324 of file structure.cpp.
Lateral_structure::Lateral_structure | ( | const Lateral_structure & | s | ) |
Constructs a Lateral_structure by copying another.
s | Lateral_structure to construct a new one from. |
Definition at line 3360 of file structure.cpp.
virtual Lateral_structure::~Lateral_structure | ( | ) | [inline, virtual] |
Deletes a Lateral_structure.
Definition at line 1318 of file structure.h.
virtual Lateral_structure* Lateral_structure::clone | ( | ) | const [pure virtual] |
Lateral_structure * Lateral_structure::recursively_clone | ( | ) | const [virtual] |
Recursively clones this Lateral_structure and all its descendents.
Implements Structure.
Definition at line 3368 of file structure.cpp.
Lateral_structure & Lateral_structure::operator= | ( | const Lateral_structure & | s | ) | [virtual] |
Copies a Lateral_structure into this Lateral_structure.
s | Lateral_structure to copy. |
Definition at line 3397 of file structure.cpp.
float Lateral_structure::get_lat_dist | ( | ) | const [inline] |
Returns the normalized distance of this Lateral_structure from the begin_pt of its parent.
Definition at line 1325 of file structure.h.
void Lateral_structure::set_parent | ( | Structure * | parent, |
float | lat_dist | ||
) | throw (jwscxx::base::Arg_error) |
Sets this Lateral_structure::lat_dist and parent.
lat_dist | Lateral distance to use in the parent. |
jwscxx::base::Arg_error | The change would result in a Structure parameter that is not consistent with the parameter density functions. |
Definition at line 3415 of file structure.cpp.
void Lateral_structure::set_lat_dist | ( | float | lat_dist | ) | throw (jwscxx::base::Arg_error) |
Sets this Lateral_structure::lat_dist.
lat_dist | New Lateral_structure::lat_dist. |
jwscxx::base::Arg_error | The change would result in a Structure parameter that is not consistent with the parameter density functions. |
Definition at line 3497 of file structure.cpp.
class Lateral_structure_density* Lateral_structure::get_density | ( | ) | const [inline] |
Returns the density parameters used by this Structure.
Reimplemented from Structure.
Definition at line 1338 of file structure.h.
void Lateral_structure::print | ( | ostream & | out = std::cout | ) | const [virtual] |
Prints this Lateral_structure to an output stream.
The Lateral_structure::id are printed for the apical and laterals.
The format is as follows
Structure: type name
ID: id
Level: level
Centroid: x y z
Length: length
Width: width
Base Theta: base_theta
Base Psi: base_psi
Theta: theta
Psi: psi
Opacity: opacity
Apical: apical
Laterals: L1 ... Ln
Log Prob: logprob
Lat Dist: latdist
out | Output stream to print to. |
Reimplemented from Structure.
Definition at line 3574 of file structure.cpp.
void Lateral_structure::update_from_parent_end_pt | ( | ) | throw (jwscxx::base::Arg_error) [protected] |
Updates the Lateral_structure to reflect the parent's Structure::end_pt.
Definition at line 3586 of file structure.cpp.
void Lateral_structure::update_log_prob | ( | ) | [protected, virtual] |
Updates Structure::log_prob.
Updated from the Structure and its apical and laterals.
Reimplemented from Structure.
Definition at line 3609 of file structure.cpp.
void Lateral_structure::check_centroid | ( | ) | const throw (jwscxx::base::Arg_error) [protected, virtual] |
Checks the centroid of this Lateral_structure against its density range.
jwscxx::base::Arg_error | Lateral_structure centroid is not in its density range. |
Implements Structure.
Definition at line 3654 of file structure.cpp.
void Lateral_structure::check_lat_dist | ( | ) | const throw (jwscxx::base::Arg_error) [protected] |
Checks the lateral distance of this Lateral_structure against its density range.
jwscxx::base::Arg_error | Lateral_structure distance is not in its density range. |
Definition at line 3692 of file structure.cpp.
friend class Structure [friend] |
Definition at line 1382 of file structure.h.
friend class Apical_structure [friend] |
Reimplemented from Structure.
Definition at line 1383 of file structure.h.
class Lateral_structure_density* Lateral_structure::density [protected] |
Parameters for density functions over a Lateral_structure.
Reimplemented from Structure.
Reimplemented in Lateral_hypha.
Definition at line 1373 of file structure.h.
float Lateral_structure::lat_dist [protected] |
Normalized distance to the lateral from its parent's Structure::begin_pt.
Definition at line 1379 of file structure.h.