Struct omf::Project

source ·
pub struct Project {
    pub name: String,
    pub description: String,
    pub coordinate_reference_system: String,
    pub units: String,
    pub origin: Vector3,
    pub author: String,
    pub application: String,
    pub date: DateTime<Utc>,
    pub metadata: Map<String, Value>,
    pub elements: Vec<Element>,
}
Expand description

Root object of an OMF file.

This is the root element of an OMF file, holding global metadata and a list of Elements that describe the objects or shapes within the file.

Fields§

§name: String

Project name.

§description: String

Optional project description.

§coordinate_reference_system: String

Optional EPSG or PROJ local transformation string, default empty.

Exactly what is supported depends on the application reading the file.

§units: String

Optional unit for distances and locations within the file.

Typically “meters”, “metres”, “feet”, or empty because the coordinate reference system defines it. If both are empty then applications may assume meters.

§origin: Vector3

Optional project origin, default [0, 0, 0].

Most geometries also have their own origin field. To get the real location add this origin and the geometry origin to all locations within each element.

§author: String

Optional name or email address of the person that created the file, default empty.

§application: String

Optional name and version of the application that created the file, default empty.

§date: DateTime<Utc>

Optional file or data creation date, default empty.

§metadata: Map<String, Value>

Arbitrary metadata.

This is the place to put anything that doesn’t fit in the other fields. Application-specific data should use a prefix that identifies the application, like "lf-something" for Leapfrog.

§elements: Vec<Element>

List of elements.

Implementations§

source§

impl Project

source

pub fn new(name: impl Into<String>) -> Self

Create a new project with just the name set.

Trait Implementations§

source§

impl Clone for Project

source§

fn clone(&self) -> Project

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Project

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Project

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Project

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl JsonSchema for Project

source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
source§

fn json_schema(gen: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
source§

impl PartialEq for Project

source§

fn eq(&self, other: &Project) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Project

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Validate for Project

source§

fn validate(&mut self) -> Result<Problems, Problems>

Call to validate the object, returning errors and warnings. Read more
source§

impl StructuralPartialEq for Project

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,