Skip to content

Commit

Permalink
Merge pull request #28 from cognitedata/dragly/rust-parser-5
Browse files Browse the repository at this point in the history
Implement renderables
  • Loading branch information
dragly committed Nov 25, 2019
2 parents b987792 + 5e4f72a commit fd898fc
Show file tree
Hide file tree
Showing 14 changed files with 2,223 additions and 409 deletions.
56 changes: 25 additions & 31 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
single-char-binding-names-threshold = 20
8 changes: 5 additions & 3 deletions f3df/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@ dump = ["clap", "serde_yaml", "serde_json"]

[dependencies]
serde = { version = "1.0.99", features = ["derive"] }
serde_derive = "1.0.99"
serde_json = { version = "1.0.41", optional = true }
byteorder = "1.3.2"
serde_yaml = { version = "0.8.9", optional = true }
bitflags = "1.1.0"
glsl-to-spirv = { version = "0.1", optional = true }
clap = { version = "2.33.0", optional = true }
arraymap = { version = "0.1.1", optional = true }
nalgebra-glm = { version = "0.4.0", optional = true }
nalgebra = { version = "0.18.0", optional = true }

nalgebra = { version = "0.18.1", features = [ "serde-serialize" ] }
js-sys = { version = "0.3.27" }
wasm-bindgen = "0.2.51"
serde-wasm-bindgen = "0.1.3"
22 changes: 18 additions & 4 deletions f3df/src/bin/dump.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use clap::clap_app;
use serde_derive::Serialize;
use serde_json;
use serde_yaml;
use std::error::Error;
Expand All @@ -7,32 +8,45 @@ use std::io::{stdin, stdout, Read};

use f3df;

#[derive(Serialize)]
enum Output {
FileSector(f3df::Sector),
RenderableSector(Vec<f3df::renderables::Face>),
}

fn run() -> Result<(), Box<dyn Error>> {
let matches = clap_app!(("f3df-dump") =>
(@arg file: +takes_value)
(@arg yaml: -y --yaml)
(@arg compact: -c --compact)
(@arg renderables: -r --renderables)
)
.get_matches();

let file = matches.value_of("file");
let use_yaml = matches.is_present("yaml");
let use_compact = matches.is_present("compact");
let to_renderables = matches.is_present("renderables");

let reader: Box<dyn Read> = if let Some(file) = file {
Box::new(File::open(file)?)
} else {
Box::new(stdin())
};

let scene = f3df::parse_sector(reader)?;
let file_sector = f3df::parse_sector(reader)?;
let sector: Output = if to_renderables {
Output::RenderableSector(f3df::renderables::convert_sector(&file_sector))
} else {
Output::FileSector(file_sector)
};

if use_compact {
serde_json::to_writer(stdout(), &scene)?;
serde_json::to_writer(stdout(), &sector)?;
} else if use_yaml {
serde_yaml::to_writer(stdout(), &scene)?;
serde_yaml::to_writer(stdout(), &sector)?;
} else {
serde_json::to_writer_pretty(stdout(), &scene)?;
serde_json::to_writer_pretty(stdout(), &sector)?;
}

Ok(())
Expand Down
2 changes: 2 additions & 0 deletions f3df/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ use byteorder::{LittleEndian, ReadBytesExt};

use serde::Serialize;

pub mod renderables;

#[macro_use]
pub mod error;
use error::*;
Expand Down

0 comments on commit fd898fc

Please sign in to comment.