🤮
This commit is contained in:
parent
bd8fa9cebc
commit
d36f4c0ed8
1 changed files with 334 additions and 12 deletions
346
src/main.rs
346
src/main.rs
|
@ -1,28 +1,350 @@
|
|||
use manifest_dir_macros::directory_relative_path;
|
||||
use stardust_xr_fusion::{
|
||||
client::Client, core::values::{Color, ResourceID}, drawable::{Line, Model}, spatial::Transform
|
||||
client::Client, core::values::Color, drawable::{Line, LinePoint, Lines}, spatial::Transform
|
||||
};
|
||||
use stardust_xr_molecules::lines;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let (client, event_loop) = Client::connect_with_async_loop().await.unwrap();
|
||||
client.set_base_prefixes(&[directory_relative_path!("res")]);
|
||||
|
||||
let _model = Model::create(
|
||||
// stardust_xr_fusion::drawable::Model
|
||||
// pub fn create(spatial_parent: &impl SpatialAspect, transform: Transform, model: &ResourceID) -> NodeResult<Self>
|
||||
// let _model = Model::create(
|
||||
// client.get_root(),
|
||||
// Transform::identity(),
|
||||
// &ResourceID::new_namespaced(
|
||||
// "color_cube",
|
||||
// "color_cube"
|
||||
// ),
|
||||
// ).unwrap();
|
||||
|
||||
let thickness = 0.03;
|
||||
// stardust_xr_fusion::drawable::Lines
|
||||
// pub fn create(spatial_parent: &impl SpatialAspect, transform: Transform, lines: &[Line]) -> NodeResult<Self>
|
||||
let back_points = vec![
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y:-1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x000000FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y:-1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFF0000FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y: 1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFFFF00FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y: 1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x00FF00FF),
|
||||
},
|
||||
];
|
||||
let back_line = Line {
|
||||
points: back_points,
|
||||
cyclic: true,
|
||||
};
|
||||
let _back_lines = Lines::create(
|
||||
client.get_root(),
|
||||
Transform::identity(),
|
||||
&ResourceID::new_namespaced(
|
||||
"color_cube",
|
||||
"color_cube"
|
||||
Transform::from_scale(
|
||||
mint::Vector3 {
|
||||
x: 0.1,
|
||||
y: 0.1,
|
||||
z: 0.1,
|
||||
}
|
||||
),
|
||||
&[back_line]
|
||||
).unwrap();
|
||||
|
||||
lines::make_line_points(
|
||||
[mint::Vector3 { x: 0.0, y: 0.0, z: 0.0 }, mint::Vector3 { x: 1.0, y: 0.0, z: 0.0 }],
|
||||
0.04,
|
||||
Color::from_hex(0xFF0000FF),
|
||||
);
|
||||
let front_points = vec![
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y:-1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x0000FFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y:-1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFF00FFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y: 1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFFFFFFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y: 1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x00FFFFFF),
|
||||
},
|
||||
];
|
||||
let front_line = Line {
|
||||
points: front_points,
|
||||
cyclic: true,
|
||||
};
|
||||
let _front_lines = Lines::create(
|
||||
client.get_root(),
|
||||
Transform::from_scale(
|
||||
mint::Vector3 {
|
||||
x: 0.1,
|
||||
y: 0.1,
|
||||
z: 0.1,
|
||||
}
|
||||
),
|
||||
&[front_line]
|
||||
).unwrap();
|
||||
|
||||
let left_points = vec![
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y:-1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x000000FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y:-1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x0000FFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y: 1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x00FFFFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y: 1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x00FF00FF),
|
||||
},
|
||||
];
|
||||
let left_line = Line {
|
||||
points: left_points,
|
||||
cyclic: true,
|
||||
};
|
||||
let _left_lines = Lines::create(
|
||||
client.get_root(),
|
||||
Transform::from_scale(
|
||||
mint::Vector3 {
|
||||
x: 0.1,
|
||||
y: 0.1,
|
||||
z: 0.1,
|
||||
}
|
||||
),
|
||||
&[left_line]
|
||||
).unwrap();
|
||||
|
||||
let right_points = vec![
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y:-1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFF0000FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y:-1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFF00FFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y: 1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFFFFFFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y: 1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFFFF00FF),
|
||||
},
|
||||
];
|
||||
let right_line = Line {
|
||||
points: right_points,
|
||||
cyclic: true,
|
||||
};
|
||||
let _right_lines = Lines::create(
|
||||
client.get_root(),
|
||||
Transform::from_scale(
|
||||
mint::Vector3 {
|
||||
x: 0.1,
|
||||
y: 0.1,
|
||||
z: 0.1,
|
||||
}
|
||||
),
|
||||
&[right_line]
|
||||
).unwrap();
|
||||
|
||||
let bottom_points = vec![
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y:-1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x000000FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y:-1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFF0000FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y:-1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFF00FFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y:-1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x0000FFFF),
|
||||
},
|
||||
];
|
||||
let bottom_line = Line {
|
||||
points: bottom_points,
|
||||
cyclic: true,
|
||||
};
|
||||
let _bottom_lines = Lines::create(
|
||||
client.get_root(),
|
||||
Transform::from_scale(
|
||||
mint::Vector3 {
|
||||
x: 0.1,
|
||||
y: 0.1,
|
||||
z: 0.1,
|
||||
}
|
||||
),
|
||||
&[bottom_line]
|
||||
).unwrap();
|
||||
|
||||
let top_points = vec![
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y: 1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x00FF00FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y: 1.0,
|
||||
z:-1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFFFF00FF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x: 1.0,
|
||||
y: 1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0xFFFFFFFF),
|
||||
},
|
||||
LinePoint {
|
||||
point: mint::Vector3 {
|
||||
x:-1.0,
|
||||
y: 1.0,
|
||||
z: 1.0,
|
||||
},
|
||||
thickness: thickness,
|
||||
color: Color::from_hex(0x00FFFFFF),
|
||||
},
|
||||
];
|
||||
let top_line = Line {
|
||||
points: top_points,
|
||||
cyclic: true,
|
||||
};
|
||||
let _top_lines = Lines::create(
|
||||
client.get_root(),
|
||||
Transform::from_scale(
|
||||
mint::Vector3 {
|
||||
x: 0.1,
|
||||
y: 0.1,
|
||||
z: 0.1,
|
||||
}
|
||||
),
|
||||
&[top_line]
|
||||
).unwrap();
|
||||
|
||||
tokio::select! {
|
||||
_ = tokio::signal::ctrl_c() => (),
|
||||
|
|
Loading…
Add table
Reference in a new issue