From cbf5af88b9bf9e0a7254f239100c3309cf08f4a7 Mon Sep 17 00:00:00 2001 From: Nova Date: Wed, 25 Jan 2023 05:40:19 -0500 Subject: [PATCH] fix(spatial): parse_transform returned result --- src/nodes/data.rs | 4 ++-- src/nodes/drawable/lines.rs | 2 +- src/nodes/drawable/model.rs | 2 +- src/nodes/drawable/text.rs | 2 +- src/nodes/fields/box.rs | 2 +- src/nodes/fields/cylinder.rs | 2 +- src/nodes/fields/torus.rs | 2 +- src/nodes/input/mod.rs | 2 +- src/nodes/input/tip.rs | 2 +- src/nodes/items/environment.rs | 2 +- src/nodes/items/mod.rs | 2 +- src/nodes/spatial/mod.rs | 15 +++------------ src/nodes/spatial/zone.rs | 2 +- 13 files changed, 16 insertions(+), 25 deletions(-) diff --git a/src/nodes/data.rs b/src/nodes/data.rs index 96118b4..6a15a47 100644 --- a/src/nodes/data.rs +++ b/src/nodes/data.rs @@ -244,7 +244,7 @@ pub fn create_pulse_sender_flex( let info: CreatePulseSenderInfo = deserialize(data)?; let node = Node::create(&calling_client, "/data/sender", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let mask = Mask(info.mask); mask.get_mask()?; @@ -271,7 +271,7 @@ pub fn create_pulse_receiver_flex( let info: CreatePulseReceiverInfo = deserialize(data)?; let node = Node::create(&calling_client, "/data/receiver", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let field = find_field(&calling_client, info.field_path)?; let mask = Mask(info.mask); mask.get_mask()?; diff --git a/src/nodes/drawable/lines.rs b/src/nodes/drawable/lines.rs index 0c6b9c7..e53e929 100644 --- a/src/nodes/drawable/lines.rs +++ b/src/nodes/drawable/lines.rs @@ -122,7 +122,7 @@ pub fn create_flex(_node: &Node, calling_client: Arc, data: &[u8]) -> Re let mut info: CreateTextInfo = deserialize(data)?; let node = Node::create(&calling_client, "/drawable/lines", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, true)?; + let transform = parse_transform(info.transform, true, true, true); for p in &mut info.points { p.color[0] = p.color[0].powf(2.2); diff --git a/src/nodes/drawable/model.rs b/src/nodes/drawable/model.rs index 638a5d9..f42cab8 100644 --- a/src/nodes/drawable/model.rs +++ b/src/nodes/drawable/model.rs @@ -251,7 +251,7 @@ pub fn create_flex(_node: &Node, calling_client: Arc, data: &[u8]) -> Re let info: CreateModelInfo = deserialize(data)?; let node = Node::create(&calling_client, "/drawable/model", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, true)?; + let transform = parse_transform(info.transform, true, true, true); let node = node.add_to_scenegraph(); Spatial::add_to(&node, Some(parent), transform, false)?; Model::add_to(&node, info.resource)?; diff --git a/src/nodes/drawable/text.rs b/src/nodes/drawable/text.rs index c017011..47ab688 100644 --- a/src/nodes/drawable/text.rs +++ b/src/nodes/drawable/text.rs @@ -189,7 +189,7 @@ pub fn create_flex(_node: &Node, calling_client: Arc, data: &[u8]) -> Re let info: CreateTextInfo = deserialize(data)?; let node = Node::create(&calling_client, "/drawable/text", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, true)?; + let transform = parse_transform(info.transform, true, true, true); let color = Rgba::from_slice(&info.color); let node = node.add_to_scenegraph(); diff --git a/src/nodes/fields/box.rs b/src/nodes/fields/box.rs index 51b64f4..49365dc 100644 --- a/src/nodes/fields/box.rs +++ b/src/nodes/fields/box.rs @@ -74,7 +74,7 @@ pub fn create_box_field_flex(_node: &Node, calling_client: Arc, data: &[ let info: CreateFieldInfo = deserialize(data)?; let node = Node::create(&calling_client, "/field", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let node = node.add_to_scenegraph(); Spatial::add_to(&node, Some(parent), transform, false)?; BoxField::add_to(&node, info.size)?; diff --git a/src/nodes/fields/cylinder.rs b/src/nodes/fields/cylinder.rs index 2e0709c..a468471 100644 --- a/src/nodes/fields/cylinder.rs +++ b/src/nodes/fields/cylinder.rs @@ -80,7 +80,7 @@ pub fn create_cylinder_field_flex( let info: CreateFieldInfo = deserialize(data)?; let node = Node::create(&calling_client, "/field", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let node = node.add_to_scenegraph(); Spatial::add_to(&node, Some(parent), transform, false)?; CylinderField::add_to(&node, info.length, info.radius)?; diff --git a/src/nodes/fields/torus.rs b/src/nodes/fields/torus.rs index 3fc1b66..0674aac 100644 --- a/src/nodes/fields/torus.rs +++ b/src/nodes/fields/torus.rs @@ -80,7 +80,7 @@ pub fn create_torus_field_flex( let info: CreateFieldInfo = deserialize(data)?; let node = Node::create(&calling_client, "/field", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let node = node.add_to_scenegraph(); Spatial::add_to(&node, Some(parent), transform, false)?; TorusField::add_to(&node, info.radius_a, info.radius_b)?; diff --git a/src/nodes/input/mod.rs b/src/nodes/input/mod.rs index a592562..1840958 100644 --- a/src/nodes/input/mod.rs +++ b/src/nodes/input/mod.rs @@ -247,7 +247,7 @@ pub fn create_input_handler_flex( } let info: CreateInputHandlerInfo = deserialize(data)?; let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, true)?; + let transform = parse_transform(info.transform, true, true, true); let field = find_field(&calling_client, info.field_path)?; let node = Node::create(&calling_client, "/input/handler", info.name, true).add_to_scenegraph(); diff --git a/src/nodes/input/tip.rs b/src/nodes/input/tip.rs index 06e5515..6faf0c2 100644 --- a/src/nodes/input/tip.rs +++ b/src/nodes/input/tip.rs @@ -57,7 +57,7 @@ pub fn create_tip_flex(_node: &Node, calling_client: Arc, data: &[u8]) - let info: CreateTipInfo = deserialize(data)?; let node = Node::create(&calling_client, "/input/method/tip", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let node = node.add_to_scenegraph(); Spatial::add_to(&node, Some(parent), transform, false)?; diff --git a/src/nodes/items/environment.rs b/src/nodes/items/environment.rs index f55c1d6..f43563c 100644 --- a/src/nodes/items/environment.rs +++ b/src/nodes/items/environment.rs @@ -72,7 +72,7 @@ pub(super) fn create_environment_item_flex( let info: CreateEnvironmentItemInfo = deserialize(data)?; let parent_name = format!("/item/{}/item", ITEM_TYPE_INFO_ENVIRONMENT.type_name); let space = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let node = Node::create(&INTERNAL_CLIENT, &parent_name, info.name, false).add_to_scenegraph(); Spatial::add_to(&node, None, transform * space.global_transform(), false)?; diff --git a/src/nodes/items/mod.rs b/src/nodes/items/mod.rs index 0b99439..1468d4f 100644 --- a/src/nodes/items/mod.rs +++ b/src/nodes/items/mod.rs @@ -422,7 +422,7 @@ fn create_item_acceptor_flex(_node: &Node, calling_client: Arc, data: &[ } let info: CreateItemAcceptorInfo = deserialize(data)?; let space = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let field = find_field(&calling_client, info.field_path)?; let type_info = type_info(info.item_type)?; diff --git a/src/nodes/spatial/mod.rs b/src/nodes/spatial/mod.rs index 8088530..5559cba 100644 --- a/src/nodes/spatial/mod.rs +++ b/src/nodes/spatial/mod.rs @@ -310,12 +310,7 @@ impl Drop for Spatial { } } -pub fn parse_transform( - transform: Transform, - position: bool, - rotation: bool, - scale: bool, -) -> Result { +pub fn parse_transform(transform: Transform, position: bool, rotation: bool, scale: bool) -> Mat4 { let position = position .then_some(transform.position) .flatten() @@ -329,11 +324,7 @@ pub fn parse_transform( .flatten() .unwrap_or_else(|| Vector3::from([1.0; 3])); - Ok(Mat4::from_scale_rotation_translation( - scale.into(), - rotation.into(), - position.into(), - )) + Mat4::from_scale_rotation_translation(scale.into(), rotation.into(), position.into()) } pub fn find_spatial( @@ -377,7 +368,7 @@ pub fn create_spatial_flex(_node: &Node, calling_client: Arc, data: &[u8 let info: CreateSpatialInfo = deserialize(data)?; let node = Node::create(&calling_client, "/spatial/spatial", info.name, true); let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, true)?; + let transform = parse_transform(info.transform, true, true, true); let node = node.add_to_scenegraph(); Spatial::add_to(&node, Some(parent), transform, info.zoneable)?; Ok(()) diff --git a/src/nodes/spatial/zone.rs b/src/nodes/spatial/zone.rs index c683816..fb9e886 100644 --- a/src/nodes/spatial/zone.rs +++ b/src/nodes/spatial/zone.rs @@ -157,7 +157,7 @@ pub fn create_zone_flex(_node: &Node, calling_client: Arc, data: &[u8]) } let info: CreateZoneInfo = deserialize(data)?; let parent = find_spatial_parent(&calling_client, info.parent_path)?; - let transform = parse_transform(info.transform, true, true, false)?; + let transform = parse_transform(info.transform, true, true, false); let field = find_field(&calling_client, info.field_path)?; let node = Node::create(&calling_client, "/spatial/zone", info.name, true).add_to_scenegraph();