pub struct AttachPoint {
    pub kind: AttachPointType,
    pub key: String,
    pub foreign: String,
    pub tags: Option<Vec<String>>,
    pub point: Vector3,
    pub rotation: Quaternion,
    pub enabled: bool,
    pub representation: AttachPointRepresentation,
}
Expand description

An attachment point for planning support and placement of children. All attributes are mandatory, except for Tags.

Two attachment points match:

  • if Key and Foreign match, if needed with wildcards in the Foreign key,
  • there’s at least one matching Tag on both sides, in case at least one has tags,
  • the Types match to each other, such as L - R
  • both of them are enabled
  • the position offset in global space is less than 0.2 [m]
  • the rotation offset in global space is less than 45 deg

IGXC Compatibility: the Rotation is changed to Quaternion, in IGXC it was Euler-based.

Fields

kind: AttachPointType

The type of the point

key: String

Own key of the point. Should match the counterpart’s foreign key.

foreign: String

Allowed keys of counterpart’s points. May contain /// and ? characters.

tags: Option<Vec<String>>

An optional list of ids or tags to be used for attach-point matching. If one point defines tags, the other point matches–if it already matches–and additionally provides at least one compatible tag. Two tags are compatible if there case-normalized versions are equal.

point: Vector3

The position of the point, relative to the Product.

rotation: Quaternion

The orientation of the point, relative to the Product.

enabled: bool

Attribute controls if the point is enabled. If disabled, it should be invisible too.

representation: AttachPointRepresentation

The visual representation of the attachment point.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.