0.1.33
Loading...
Searching...
No Matches
pyhelios.wrappers.DataTypes.AxisRotation Class Reference

Axis rotation structure for specifying shoot orientation in PlantArchitecture. More...

Detailed Description

Axis rotation structure for specifying shoot orientation in PlantArchitecture.

Represents rotation using pitch, yaw, and roll angles in radians, exactly as the native helios::AxisRotation does: the values are passed through unchanged and the plant-architecture library itself builds rotations such as 0.05 * pi and 2 * pi. Use math.radians() to convert from degrees. Used to define the orientation of shoots, stems, and branches during plant construction.

Definition at line 567 of file DataTypes.py.

+ Inheritance diagram for pyhelios.wrappers.DataTypes.AxisRotation:
+ Collaboration diagram for pyhelios.wrappers.DataTypes.AxisRotation:

Public Member Functions

str __repr__ (self)
 
str __str__ (self)
 
 __new__ (cls, pitch=None, yaw=None, roll=None)
 Create AxisRotation instance.
 
 __init__ (self, float pitch=0, float yaw=0, float roll=0)
 Initialize AxisRotation fields with validation.
 
 from_list (self, List[float] input_list)
 Initialize from list [pitch, yaw, roll].
 
List[float] to_list (self)
 Convert to list [pitch, yaw, roll].
 

Public Attributes

 pitch = float(pitch)
 
 yaw = float(yaw)
 
 roll = float(roll)
 

Static Protected Member Functions

bool _is_finite_numeric (value)
 Check if value is a finite number (not NaN or inf).
 

Static Protected Attributes

list _fields_
 

Constructor & Destructor Documentation

◆ __init__()

pyhelios.wrappers.DataTypes.AxisRotation.__init__ ( self,
float pitch = 0,
float yaw = 0,
float roll = 0 )

Initialize AxisRotation fields with validation.

Do not call super().__init__() for Windows compatibility.

Parameters
pitchPitch angle in radians (rotation about transverse axis)
yawYaw angle in radians (rotation about vertical axis)
rollRoll angle in radians (rotation about longitudinal axis)
Exceptions
ValueErrorIf any angle value is not finite

Definition at line 602 of file DataTypes.py.

Member Function Documentation

◆ __new__()

pyhelios.wrappers.DataTypes.AxisRotation.__new__ ( cls,
pitch = None,
yaw = None,
roll = None )

Create AxisRotation instance.

Only pass cls to parent new to prevent TypeError on Windows.

Definition at line 587 of file DataTypes.py.

◆ __repr__()

str pyhelios.wrappers.DataTypes.AxisRotation.__repr__ ( self)

Definition at line 577 of file DataTypes.py.

◆ __str__()

str pyhelios.wrappers.DataTypes.AxisRotation.__str__ ( self)

Definition at line 580 of file DataTypes.py.

◆ _is_finite_numeric()

bool pyhelios.wrappers.DataTypes.AxisRotation._is_finite_numeric ( value)
staticprotected

Check if value is a finite number (not NaN or inf).

Definition at line 634 of file DataTypes.py.

◆ from_list()

pyhelios.wrappers.DataTypes.AxisRotation.from_list ( self,
List[float] input_list )

Initialize from list [pitch, yaw, roll].

Definition at line 619 of file DataTypes.py.

◆ to_list()

List[float] pyhelios.wrappers.DataTypes.AxisRotation.to_list ( self)

Convert to list [pitch, yaw, roll].

Definition at line 627 of file DataTypes.py.

Member Data Documentation

◆ _fields_

list pyhelios.wrappers.DataTypes.AxisRotation._fields_
staticprotected

Definition at line 571 of file DataTypes.py.

◆ pitch

pyhelios.wrappers.DataTypes.AxisRotation.pitch = float(pitch)

Definition at line 614 of file DataTypes.py.

◆ roll

pyhelios.wrappers.DataTypes.AxisRotation.roll = float(roll)

Definition at line 616 of file DataTypes.py.

◆ yaw

pyhelios.wrappers.DataTypes.AxisRotation.yaw = float(yaw)

Definition at line 615 of file DataTypes.py.


The documentation for this class was generated from the following file: