feat: parse transform vectors

This commit is contained in:
Nova
2022-09-26 03:32:13 -04:00
parent fdcba63489
commit 2a5c11c0f0
11 changed files with 79 additions and 93 deletions

View File

@@ -3,7 +3,7 @@ mod environment;
use self::environment::EnvironmentItem;
use super::fields::Field;
use super::spatial::{get_spatial_parent_flex, parse_pose, Spatial};
use super::spatial::{get_spatial_parent_flex, parse_transform, Spatial};
use super::{Alias, Node};
use crate::core::client::{Client, INTERNAL_CLIENT};
use crate::core::nodelist::LifeLinkedNodeList;
@@ -352,10 +352,10 @@ pub fn create_environment_item_flex(
true,
);
let space = get_spatial_parent_flex(&calling_client, flex_vec.idx(1).get_str()?)?;
let transform = parse_pose(flex_vec.idx(2), flex_vec.idx(3))?;
let transform = parse_transform(flex_vec.idx(2), true, true, false)?;
let node = node.add_to_scenegraph();
Spatial::add_to(&node, None, transform * space.global_transform())?;
EnvironmentItem::add_to(&node, flex_vec.idx(4).get_str()?.to_string());
EnvironmentItem::add_to(&node, flex_vec.idx(3).get_str()?.to_string());
node.item
.get()
.unwrap()
@@ -372,10 +372,10 @@ pub fn create_item_acceptor_flex(
let flex_vec = root.get_vector()?;
let parent_name = format!("/item/{}/acceptor/", ITEM_TYPE_INFO_ENVIRONMENT.type_name);
let space = get_spatial_parent_flex(&calling_client, flex_vec.idx(1).get_str()?)?;
let transform = parse_pose(flex_vec.idx(2), flex_vec.idx(3))?;
let transform = parse_transform(flex_vec.idx(2), true, true, false)?;
let field = calling_client
.scenegraph
.get_node(flex_vec.idx(4).get_str()?)
.get_node(flex_vec.idx(3).get_str()?)
.ok_or_else(|| anyhow!("Field node not found"))?;
let field = field
.field