0.1.13
Loading...
Searching...
No Matches
pyhelios.PlantArchitecture Namespace Reference

Classes

class  PlantArchitecture
 High-level interface for plant architecture modeling and procedural plant generation. More...
 
class  PlantArchitectureError
 Raised when PlantArchitecture operations fail. More...
 
class  RandomParameter
 Helper class for creating RandomParameter specifications for float parameters. More...
 
class  RandomParameterInt
 Helper class for creating RandomParameter specifications for integer parameters. More...
 

Functions

 validate_vec3 (value, name, func)
 
 validate_vec2 (value, name, func)
 
 validate_int2 (value, name, func)
 
str _resolve_user_path (Union[str, Path] filepath)
 Convert relative paths to absolute paths before changing working directory.
 
 _plantarchitecture_working_directory ()
 Context manager that temporarily changes working directory to where PlantArchitecture assets are located.
 
 is_plantarchitecture_available ()
 Check if PlantArchitecture plugin is available for use.
 
PlantArchitecture create_plant_architecture (Context context)
 Create PlantArchitecture instance with context.
 

Variables

 logger = logging.getLogger(__name__)
 

Function Documentation

◆ _plantarchitecture_working_directory()

pyhelios.PlantArchitecture._plantarchitecture_working_directory ( )
protected

Context manager that temporarily changes working directory to where PlantArchitecture assets are located.

PlantArchitecture C++ code uses hardcoded relative paths like "plugins/plantarchitecture/assets/textures/" expecting assets relative to working directory. This manager temporarily changes to the build directory where assets are actually located.

Exceptions
RuntimeErrorIf build directory or PlantArchitecture assets are not found, indicating a build system error.

Definition at line 253 of file PlantArchitecture.py.

◆ _resolve_user_path()

str pyhelios.PlantArchitecture._resolve_user_path ( Union[str, Path] filepath)
protected

Convert relative paths to absolute paths before changing working directory.

This preserves the user's intended file location when the working directory is temporarily changed for C++ asset access. Absolute paths are returned unchanged.

Parameters
filepathFile path to resolve (string or Path object)
Returns
Absolute path as string

Definition at line 233 of file PlantArchitecture.py.

◆ create_plant_architecture()

PlantArchitecture pyhelios.PlantArchitecture.create_plant_architecture ( Context context)

Create PlantArchitecture instance with context.

Parameters
contextHelios Context
Returns
PlantArchitecture instance
Example
>>> context = Context() >>> plantarch = create_plant_architecture(context)

Definition at line 1818 of file PlantArchitecture.py.

◆ is_plantarchitecture_available()

pyhelios.PlantArchitecture.is_plantarchitecture_available ( )

Check if PlantArchitecture plugin is available for use.

Returns
bool True if PlantArchitecture can be used, False otherwise

Definition at line 321 of file PlantArchitecture.py.

◆ validate_int2()

pyhelios.PlantArchitecture.validate_int2 ( value,
name,
func )

Definition at line 38 of file PlantArchitecture.py.

◆ validate_vec2()

pyhelios.PlantArchitecture.validate_vec2 ( value,
name,
func )

Definition at line 30 of file PlantArchitecture.py.

◆ validate_vec3()

pyhelios.PlantArchitecture.validate_vec3 ( value,
name,
func )

Definition at line 22 of file PlantArchitecture.py.

Variable Documentation

◆ logger

pyhelios.PlantArchitecture.logger = logging.getLogger(__name__)

Definition at line 48 of file PlantArchitecture.py.