///|
// Represents an AXIS2_PLACEMENT_3D entity.
pub struct Axis2Placement3D {
name : String
location : @step.Ref
axis : @step.Ref
ref_direction : @step.Ref
}
///|
pub fn Axis2Placement3D::new(
name : String,
location : @step.Ref,
axis : @step.Ref,
ref_direction : @step.Ref,
) -> Axis2Placement3D {
Axis2Placement3D::{ name, location, axis, ref_direction, }
}
///|
fn ref_to_step(r : @step.Ref) -> String {
// Access the `id` field from the @step.Ref struct
"#\{r.id.value}"
}
///|
// Implement the core trait.
pub impl @step.Entity for Axis2Placement3D with fn to_step(self) {
let loc = ref_to_step(self.location)
let ax = ref_to_step(self.axis)
let ref_dir = ref_to_step(self.ref_direction)
"AXIS2_PLACEMENT_3D(\{@step.step_str(self.name)},\{loc}, \{ax}, \{ref_dir})"
}