Struct Product

Source
pub struct Product {
Show 13 fields pub kind: Option<ProductKind>, pub state: Option<ProductState>, pub transform: Option<Transform>, pub material_categories: Option<HashMap<String, String>>, pub categories: Option<Vec<String>>, pub structure: Option<Vec<Component>>, pub top_view: Option<TopView>, pub preview: Option<Preview>, pub points: Option<Vec<AttachPoint>>, pub commercial: Option<Commercial>, pub status: Option<Status>, pub master_data: Option<MasterData>, pub measurements: Option<Vec<MeasurementLine>>,
}
Expand description

An initial or incremental product representation.

Fields§

§kind: Option<ProductKind>§state: Option<ProductState>

Optional state information for a product. Even if the state object exists, not all attributes may be set. The state information always entirely updates an existing state information.

§transform: Option<Transform>

Optional world transform of the product representation. If the transform is not null, it entirely replaces the existing transform.

§material_categories: Option<HashMap<String, String>>

The mandatory attribute maps material categories to materials. Both, material categories and materials should be compatible with a three-level technical namespace. Implicit material categories consist of prefix ‘@’ and a material, and should be included too, even if this is kind of redundant.

IGXC Compatibility: In IGXC this attribute was named Categories.

§categories: Option<Vec<String>>

Product categories for the client-side implementation of planning behavior. If Categories is not null, it entirely replaces the existing categories.

IGXC Compatibility: In IGXC, categories were considered from the structure’s root entry. Now they can be updated, even if the structure does not change.

§structure: Option<Vec<Component>>

The tree structure that describes the product in 3D. If the structure is not null, it entirely replaces the existing structure.

§top_view: Option<TopView>

An optional product representation from top-view perspective. Version: OC 1.2

§preview: Option<Preview>

An optional product preview image. Version: OC 1.2

§points: Option<Vec<AttachPoint>>

Attachment points for the client-side creation of neighbor and parent-child relationships. If Points is not null, it entirely replaces the existing points.

IGXC Compatibility: In IGXC, points were considered from the structure’s root entry. Now they can be updated, even if the structure does not change.

§commercial: Option<Commercial>

Commercial data related to this product

§status: Option<Status>

Contains product related status information.

§master_data: Option<MasterData>

Master data related to this product Version: OC 1.3

§measurements: Option<Vec<MeasurementLine>>

Additional measurements for this product Version: OC 1.7

Trait Implementations§

Source§

impl Clone for Product

Source§

fn clone(&self) -> Product

Returns a duplicate 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 Product

Source§

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

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

impl<'de> Deserialize<'de> for Product

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 PartialEq for Product

Source§

fn eq(&self, other: &Product) -> 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 Product

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 StructuralPartialEq for Product

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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>,