Skip to main content

Graph

Struct Graph 

Source
pub struct Graph { /* private fields */ }
Expand description

An index of supported records keyed by (node type, XMT identifier).

Implementations§

Source§

impl Graph

Source

pub fn parse(stream: &[u8]) -> Self

Parse supported fixed-record nodes from a neutral-binary stream.

Source

pub fn get(&self, kind: u8, xmt: u32) -> Option<&Node>

Look up a node by record type and XMT identifier.

Source

pub fn at_pos(&self, pos: usize) -> Option<&Node>

Look up the node whose type tag starts at pos.

Source

pub fn of_kind(&self, kind: u8) -> impl Iterator<Item = &Node>

Iterate nodes of one record type in physical record order.

Source

pub fn referenced_curve_xmts(&self) -> BTreeSet<u32>

Curve identities occupying typed curve-reference slots in the fixed topology and procedural graph.

Source

pub fn unique_curve_edge_endpoints(&self, curve_xmt: u32) -> Option<[Point3; 2]>

Resolve the two model-space endpoints of the unique edge carrying a curve.

Source

pub fn referenced_carrier_xmts(&self) -> BTreeSet<u32>

Carrier identities required by the surviving fixed topology image.

Source

pub fn body_shape_shells(&self) -> Vec<&Node>

Return SHELL nodes whose ownership fields define a body shape.

Source

pub fn has_complete_body_topology(&self) -> bool

Return whether every body-shape face has a non-empty valid loop chain and every non-null radial FIN partner belongs to the same reachable body topology.

Source

pub fn body_shape_face_count(&self) -> usize

Count faces owned by validated body-shape shells.

Source

pub fn face_loop_rings(&self, face_xmt: u32) -> Option<Vec<(u32, Vec<u32>)>>

Return the validated loop-to-FIN rings owned by a face.

The face’s loop chain must terminate at the null reference. Each loop points back to the face. Each FIN cycle closes at its first FIN, stays in the loop, and has reciprocal forward/backward links. Every FIN resolves its edge and vertex.

Trait Implementations§

Source§

impl Debug for Graph

Source§

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

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

impl Default for Graph

Source§

fn default() -> Graph

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

Auto Trait Implementations§

§

impl Freeze for Graph

§

impl RefUnwindSafe for Graph

§

impl Send for Graph

§

impl Sync for Graph

§

impl Unpin for Graph

§

impl UnsafeUnpin for Graph

§

impl UnwindSafe for Graph

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> 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> Same for T

Source§

type Output = T

Should always be Self
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.