Block builder
Block blueprints
- exception rostok.block_builder_api.block_blueprints.NotImplementedErrorCreatorInterface(*args: object)
- class rostok.block_builder_api.block_blueprints.BlockCreatorInterface
To use it, you need to implement functions for creating from blueprints.
- Raises:
NotImplementedErrorCreatorInterface: Need implementation for method in child class
- abstract classmethod create_environment_body(blueprint: EnvironmentBodyBlueprint)
- abstract classmethod create_primitive_body(blueprint: PrimitiveBodyBlueprint)
- abstract classmethod create_revolve_joint(blueprint: RevolveJointBlueprint)
- abstract classmethod create_transform(blueprint: TransformBlueprint)
- init_block_from_blueprint(blueprint)
Make mapping creation functions with blueprints
- Args:
blueprint : Any blueprint
- class rostok.block_builder_api.block_blueprints.BodyBlueprintType
Use for mark block category
- class rostok.block_builder_api.block_blueprints.EnvironmentBodyBlueprint(shape: rostok.block_builder_api.easy_body_shapes.Box | rostok.block_builder_api.easy_body_shapes.Cylinder | rostok.block_builder_api.easy_body_shapes.Sphere | rostok.block_builder_api.easy_body_shapes.Ellipsoid | rostok.block_builder_api.easy_body_shapes.FromMesh | rostok.block_builder_api.easy_body_shapes.ConvexHull = Box(width_x=0.1, length_y=0.5, height_z=0.1), density: float = 100, material: rostok.utils.dataset_materials.material_dataclass_manipulating.Material = DefaultChronoMaterialNSC(name='default_NSC', type_class='ChMaterialSurfaceNSC', Friction=0.5, Restitution=0.15, Compliance=1e-06, ComplianceT=1e-06, DampingF=1000000.0), is_collide: bool = True, color: list[int] | None = None, pos: rostok.block_builder_api.block_parameters.FrameTransform = FrameTransform(position=[0, 0, 0], rotation=[1, 0, 0, 0]))
- color: list[int] | None = None
- density: float = 100
- is_collide: bool = True
- material: Material = DefaultChronoMaterialNSC(name='default_NSC', type_class='ChMaterialSurfaceNSC', Friction=0.5, Restitution=0.15, Compliance=1e-06, ComplianceT=1e-06, DampingF=1000000.0)
- pos: FrameTransform = ([0, 0, 0], [1, 0, 0, 0])
- class rostok.block_builder_api.block_blueprints.JointBlueprintType
Use to mark block category
- class rostok.block_builder_api.block_blueprints.PrimitiveBodyBlueprint(shape: rostok.block_builder_api.easy_body_shapes.Box | rostok.block_builder_api.easy_body_shapes.Cylinder | rostok.block_builder_api.easy_body_shapes.Sphere | rostok.block_builder_api.easy_body_shapes.Ellipsoid | rostok.block_builder_api.easy_body_shapes.FromMesh | rostok.block_builder_api.easy_body_shapes.ConvexHull = Box(width_x=0.1, length_y=0.5, height_z=0.1), density: float = 400, material: rostok.utils.dataset_materials.material_dataclass_manipulating.Material = DefaultChronoMaterialNSC(name='default_NSC', type_class='ChMaterialSurfaceNSC', Friction=0.5, Restitution=0.15, Compliance=1e-06, ComplianceT=1e-06, DampingF=1000000.0), is_collide: bool = True, color: list[int] | None = None)
- color: list[int] | None = None
- density: float = 400
- is_collide: bool = True
- material: Material = DefaultChronoMaterialNSC(name='default_NSC', type_class='ChMaterialSurfaceNSC', Friction=0.5, Restitution=0.15, Compliance=1e-06, ComplianceT=1e-06, DampingF=1000000.0)
- class rostok.block_builder_api.block_blueprints.RevolveJointBlueprint(type_of_input: rostok.block_builder_api.block_parameters.JointInputType = <JointInputType.TORQUE: 'Torque'>, radius: float = 0.015, length: float = 0.03, material: rostok.utils.dataset_materials.material_dataclass_manipulating.Material = DefaultChronoMaterialNSC(name='default_NSC', type_class='ChMaterialSurfaceNSC', Friction=0.5, Restitution=0.15, Compliance=1e-06, ComplianceT=1e-06, DampingF=1000000.0), density: float = 400, starting_angle: float = 0.0, stiffness: float = 0.0, damping: float = 0.0, offset: float = 0.0, equilibrium_position: float = 0.0, with_collision: bool = True)
- damping: float = 0.0
- density: float = 400
- equilibrium_position: float = 0.0
- length: float = 0.03
- material: Material = DefaultChronoMaterialNSC(name='default_NSC', type_class='ChMaterialSurfaceNSC', Friction=0.5, Restitution=0.15, Compliance=1e-06, ComplianceT=1e-06, DampingF=1000000.0)
- offset: float = 0.0
- radius: float = 0.015
- starting_angle: float = 0.0
- stiffness: float = 0.0
- type_of_input: JointInputType = 'Torque'
- with_collision: bool = True
- class rostok.block_builder_api.block_blueprints.TransformBlueprint(transform: rostok.block_builder_api.block_parameters.FrameTransform = FrameTransform(position=[0, 0, 0], rotation=[1, 0, 0, 0]))
- is_transform_input = False
- transform: FrameTransform = ([0, 0, 0], [1, 0, 0, 0])
- class rostok.block_builder_api.block_blueprints.TransformBlueprintType
Use to mark block category
Block parameters
Shapes
- class rostok.block_builder_api.easy_body_shapes.Box(width_x: float = 0.1, length_y: float = 0.5, height_z: float = 0.1)
- height_z: float = 0.1
- length_y: float = 0.5
- width_x: float = 0.1
- class rostok.block_builder_api.easy_body_shapes.ConvexHull(points: list[tuple[float, float, float]] = <factory>)
- points: list[tuple[float, float, float]]
- class rostok.block_builder_api.easy_body_shapes.Cylinder(radius: float = 0.1, height_y: float = 0.5)
The cylinder is created along the Y axis and centered at the center of mass
- height_y: float = 0.5
- radius: float = 0.1