:py:mod:`synthpic2.recipe.synth_chain` ====================================== .. py:module:: synthpic2.recipe.synth_chain .. autoapi-nested-parse:: Module for SynthChain and _SynthChainStep (sub-)classes. Subpackages ----------- .. toctree:: :titlesonly: :maxdepth: 3 feature_generation_steps/index.rst rendering_steps/index.rst Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 state/index.rst step/index.rst synth_chain/index.rst Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: synthpic2.recipe.synth_chain.InvokeBlueprints synthpic2.recipe.synth_chain.RelaxCollisions synthpic2.recipe.synth_chain.TriggerFeatureUpdate synthpic2.recipe.synth_chain.State synthpic2.recipe.synth_chain.SynthChain .. py:class:: InvokeBlueprints Bases: :py:obj:`synthpic2.recipe.synth_chain.feature_generation_steps.set_based_mixin.SetBasedMixin`, :py:obj:`synthpic2.recipe.synth_chain.feature_generation_steps.base.FeatureGenerationStep` SynthChainStep to invoke a set of blueprints. .. py:method:: __call__(runtime_state: synthpic2.recipe.synth_chain.state.RuntimeState) -> synthpic2.recipe.synth_chain.state.RuntimeState NotImplemented .. py:class:: RelaxCollisions Bases: :py:obj:`synthpic2.recipe.synth_chain.feature_generation_steps.set_based_mixin.SetBasedMixin`, :py:obj:`synthpic2.recipe.synth_chain.feature_generation_steps.base.FeatureGenerationStep` SynthChainStep to relax collisions between objects of a set, using Blenders bullet physics engine. .. py:attribute:: damping :type: Optional[float] .. py:attribute:: angular_damping :type: Optional[float] .. py:attribute:: linear_damping :type: Optional[float] .. py:attribute:: friction :type: float :value: 1 .. py:attribute:: restitution :type: float :value: 1 .. py:attribute:: mass :type: float :value: 1.0 .. py:attribute:: collision_shape :type: str :value: 'MESH' .. py:attribute:: mesh_source :type: str :value: 'FINAL' .. py:attribute:: num_frames :type: int :value: 100 .. py:attribute:: use_gravity :type: bool :value: False .. py:attribute:: gravity :type: Tuple[float, float, float] :value: (0, 0) .. py:attribute:: collision_margin :type: float :value: 1e-06 .. py:attribute:: time_scale :type: float :value: 1.0 .. py:attribute:: substeps_per_frame :type: int :value: 10 .. py:attribute:: solver_iterations :type: int :value: 10 .. py:attribute:: dry_run :type: bool :value: False .. py:method:: __call__(runtime_state: synthpic2.recipe.synth_chain.state.RuntimeState) -> synthpic2.recipe.synth_chain.state.RuntimeState NotImplemented .. py:class:: TriggerFeatureUpdate Bases: :py:obj:`synthpic2.recipe.synth_chain.feature_generation_steps.set_based_mixin.SetBasedMixin`, :py:obj:`synthpic2.recipe.synth_chain.feature_generation_steps.base.FeatureGenerationStep` SynthChainStep to update a feature of a set of objects according to a feature variability. .. py:attribute:: feature_variability_name :type: str .. py:method:: __attrs_post_init__() -> None .. py:method:: __call__(runtime_state: synthpic2.recipe.synth_chain.state.RuntimeState) -> synthpic2.recipe.synth_chain.state.RuntimeState NotImplemented .. py:class:: State Bases: :py:obj:`synthpic2.recipe.registries.SelfRegisteringAttrsMixin` Class to handle blender states. .. py:property:: _registry :type: synthpic2.recipe.registries.Registry .. py:attribute:: runtime_state :type: RuntimeState .. py:attribute:: name :type: Optional[str] .. py:attribute:: file_root :type: Optional[synthpic2.custom_types.AnyPath] .. py:method:: __attrs_post_init__() -> None .. py:method:: save_to_disk() -> None .. py:method:: load_from_disk() -> None .. py:method:: delete() -> None .. py:method:: unregister() -> None .. py:class:: SynthChain Class to orchestrate the feature generation and the rendering. .. py:attribute:: _target_ :type: str :value: 'synthpic2.recipe.SynthChain' .. py:attribute:: blender_log_file_name :type: str :value: 'blender.log' .. py:attribute:: feature_generation_steps :type: List .. py:attribute:: rendering_steps :type: List .. py:method:: execute(initial_runtime_state: synthpic2.recipe.synth_chain.state.RuntimeState) -> None