Enum GeometryNode

Source
#[non_exhaustive]
pub enum GeometryNode {
Show 27 variants Point2(Point2), Point3(Point3), Vector2(Vec2), Vector3(Vec3), Frame2(Frame2), Frame3(Frame3), Transform(Transform3), PointList2(Vec<Point2>), PointList3(Vec<Point3>), Curve2(Curve2), Curve3(Curve3), CurveRelation(CurveRelation), PointOnCurve(PointOnCurve), Surface(Surface), SurfaceRelation(SurfaceRelation), PointOnSurface(PointOnSurface), Profile(Profile), OpenProfile(OpenProfile), Primitive(Primitive), HalfSpace(HalfSpace), SolidOperation(SolidOperation), BRep(BRep<NodeId>), PolygonMesh(PolygonMesh), TriMesh(TriMesh), BoundingBox(Aabb), Instance(Instance), Collection(Vec<NodeId>),
}
Expand description

One node in an immutable geometry DAG.

The enum is non-exhaustive so representation growth is semver-compatible. Compilers must turn unknown/unsupported families into a structured Unsupported result rather than a wildcard no-op.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Point2(Point2)

Two-dimensional position.

§

Point3(Point3)

Three-dimensional position.

§

Vector2(Vec2)

Two-dimensional direction/vector.

§

Vector3(Vec3)

Three-dimensional direction/vector.

§

Frame2(Frame2)

Two-dimensional axis placement.

§

Frame3(Frame3)

Three-dimensional axis placement.

§

Transform(Transform3)

Composed affine transform.

§

PointList2(Vec<Point2>)

Dense two-dimensional point list.

§

PointList3(Vec<Point3>)

Dense three-dimensional point list.

§

Curve2(Curve2)

Atomic two-dimensional curve.

§

Curve3(Curve3)

Atomic three-dimensional curve.

§

CurveRelation(CurveRelation)

Curve composition/constraint.

§

PointOnCurve(PointOnCurve)

Point on a curve.

§

Surface(Surface)

Atomic surface.

§

SurfaceRelation(SurfaceRelation)

Surface composition/constraint.

§

PointOnSurface(PointOnSurface)

Point on a surface.

§

Profile(Profile)

Exact section profile with area semantics.

§

OpenProfile(OpenProfile)

Authored exact open profile path without area or width semantics.

§

Primitive(Primitive)

Exact primitive solid.

§

HalfSpace(HalfSpace)

Unbounded half-space.

§

SolidOperation(SolidOperation)

Solid construction instruction.

§

BRep(BRep<NodeId>)

Exact topological representation linked to graph curve/surface nodes.

§

PolygonMesh(PolygonMesh)

Polygonal n-gon mesh before triangulation.

§

TriMesh(TriMesh)

Triangle mesh.

§

BoundingBox(Aabb)

Axis-aligned bounds.

§

Instance(Instance)

Instanced/mapped geometry.

§

Collection(Vec<NodeId>)

Ordered geometric set or representation.

Implementations§

Source§

impl GeometryNode

Source

pub fn references(&self) -> Vec<NodeId>

Direct graph dependencies in deterministic order.

Trait Implementations§

Source§

impl Clone for GeometryNode

Source§

fn clone(&self) -> GeometryNode

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 GeometryNode

Source§

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

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

impl From<Aabb> for GeometryNode

Source§

fn from(value: Aabb) -> Self

Converts to this type from the input type.
Source§

impl From<BRep<NodeId>> for GeometryNode

Source§

fn from(value: BRep<NodeId>) -> Self

Converts to this type from the input type.
Source§

impl From<Curve2> for GeometryNode

Source§

fn from(value: Curve2) -> Self

Converts to this type from the input type.
Source§

impl From<Curve3> for GeometryNode

Source§

fn from(value: Curve3) -> Self

Converts to this type from the input type.
Source§

impl From<CurveRelation> for GeometryNode

Source§

fn from(value: CurveRelation) -> Self

Converts to this type from the input type.
Source§

impl From<DAffine3> for GeometryNode

Source§

fn from(value: Transform3) -> Self

Converts to this type from the input type.
Source§

impl From<Frame2> for GeometryNode

Source§

fn from(value: Frame2) -> Self

Converts to this type from the input type.
Source§

impl From<Frame3> for GeometryNode

Source§

fn from(value: Frame3) -> Self

Converts to this type from the input type.
Source§

impl From<HalfSpace> for GeometryNode

Source§

fn from(value: HalfSpace) -> Self

Converts to this type from the input type.
Source§

impl From<Instance> for GeometryNode

Source§

fn from(value: Instance) -> Self

Converts to this type from the input type.
Source§

impl From<OpenProfile> for GeometryNode

Source§

fn from(value: OpenProfile) -> Self

Converts to this type from the input type.
Source§

impl From<PointOnCurve> for GeometryNode

Source§

fn from(value: PointOnCurve) -> Self

Converts to this type from the input type.
Source§

impl From<PointOnSurface> for GeometryNode

Source§

fn from(value: PointOnSurface) -> Self

Converts to this type from the input type.
Source§

impl From<PolygonMesh> for GeometryNode

Source§

fn from(value: PolygonMesh) -> Self

Converts to this type from the input type.
Source§

impl From<Primitive> for GeometryNode

Source§

fn from(value: Primitive) -> Self

Converts to this type from the input type.
Source§

impl From<Profile> for GeometryNode

Source§

fn from(value: Profile) -> Self

Converts to this type from the input type.
Source§

impl From<SolidOperation> for GeometryNode

Source§

fn from(value: SolidOperation) -> Self

Converts to this type from the input type.
Source§

impl From<Surface> for GeometryNode

Source§

fn from(value: Surface) -> Self

Converts to this type from the input type.
Source§

impl From<SurfaceRelation> for GeometryNode

Source§

fn from(value: SurfaceRelation) -> Self

Converts to this type from the input type.
Source§

impl From<TriMesh> for GeometryNode

Source§

fn from(value: TriMesh) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for GeometryNode

Source§

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

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.