pub struct ArchEntityData {
pub dxf_name: String,
pub cpp_class_name: String,
pub kind: ArchKind,
pub profiles: Vec<Vec<Vector3>>,
pub dwg_type_code: i16,
pub dwg_handle_bits: i64,
pub dwg_source_version: Option<DxfVersion>,
pub raw_dwg_data: Option<Vec<u8>>,
pub raw_dxf_codes: Option<Vec<(i32, String)>>,
pub fields: Vec<StoredNumber>,
pub preview: Vec<PreviewRecord>,
}Expand description
Class body of an Arch entity.
Fields§
§dxf_name: String§cpp_class_name: String§kind: ArchKind§profiles: Vec<Vec<Vector3>>Closed or open profiles in world coordinates. The first profile is the one Arch stored in the proxy-graphics preview.
dwg_type_code: i16§dwg_handle_bits: i64§dwg_source_version: Option<DxfVersion>§raw_dwg_data: Option<Vec<u8>>§raw_dxf_codes: Option<Vec<(i32, String)>>§fields: Vec<StoredNumber>Numbers pulled out of Self::raw_dwg_data, filled by Self::decode_fields.
preview: Vec<PreviewRecord>Preview records pulled out of the proxy-graphics blob.
Implementations§
Source§impl ArchEntityData
impl ArchEntityData
Sourcepub fn decode(&self) -> DecodedAec
pub fn decode(&self) -> DecodedAec
Read the shared Arch envelope from this entity.
The result always carries the class name, kind, proxy profiles, text
stream, and class-body handles. schema and placement are set when
the record uses the standard entity tag. Typed readers such as
Self::straight_wall_geometry
still interpret the class-specific fields that follow the envelope.
Source§impl ArchEntityData
impl ArchEntityData
Sourcepub fn has_straight_frame(&self) -> bool
pub fn has_straight_frame(&self) -> bool
Whether this record uses the 2027 straight-wall parameter layout (start, unit direction, perpendicular, height, width, and length).
Sourcepub fn straight_wall_geometry(&self) -> Option<StraightWallGeometry>
pub fn straight_wall_geometry(&self) -> Option<StraightWallGeometry>
Baseline, thickness, and base height of a straight wall segment.
pub fn from_parts( dxf_name: impl Into<String>, cpp_class_name: impl Into<String>, graphic_data: Option<&[u8]>, ) -> Self
Sourcepub fn decode_fields(&mut self)
pub fn decode_fields(&mut self)
Fill Self::fields from the class bytes. Call this after raw_dwg_data is set.
Sourcepub fn translate(
&mut self,
graphic_data: &mut Option<Vec<u8>>,
delta: Vector3,
) -> Result<(), ArchEditError>
pub fn translate( &mut self, graphic_data: &mut Option<Vec<u8>>, delta: Vector3, ) -> Result<(), ArchEditError>
Translate a wall whose native baseline layout is understood. Unsupported native layouts and non-planar moves leave the entity unchanged.
Trait Implementations§
Source§impl Clone for ArchEntityData
impl Clone for ArchEntityData
Source§impl Debug for ArchEntityData
impl Debug for ArchEntityData
Source§impl PartialEq for ArchEntityData
impl PartialEq for ArchEntityData
impl StructuralPartialEq for ArchEntityData
Auto Trait Implementations§
impl Freeze for ArchEntityData
impl RefUnwindSafe for ArchEntityData
impl Send for ArchEntityData
impl Sync for ArchEntityData
impl Unpin for ArchEntityData
impl UnsafeUnpin for ArchEntityData
impl UnwindSafe for ArchEntityData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more