#[non_exhaustive]pub enum GeometryNode {
Show 27 variants
Point2(DVec2),
Point3(DVec3),
Vector2(DVec2),
Vector3(DVec3),
Frame2(Frame2),
Frame3(Frame3),
Transform(DAffine3),
PointList2(Vec<DVec2>),
PointList3(Vec<DVec3>),
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
Point2(DVec2)
Two-dimensional position.
Point3(DVec3)
Three-dimensional position.
Vector2(DVec2)
Two-dimensional direction/vector.
Vector3(DVec3)
Three-dimensional direction/vector.
Frame2(Frame2)
Two-dimensional axis placement.
Frame3(Frame3)
Three-dimensional axis placement.
Transform(DAffine3)
Composed affine transform.
PointList2(Vec<DVec2>)
Dense two-dimensional point list.
PointList3(Vec<DVec3>)
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
impl GeometryNode
Sourcepub fn references(&self) -> Vec<NodeId>
pub fn references(&self) -> Vec<NodeId>
Direct graph dependencies in deterministic order.
Trait Implementations§
Source§impl Clone for GeometryNode
impl Clone for GeometryNode
Source§fn clone(&self) -> GeometryNode
fn clone(&self) -> GeometryNode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GeometryNode
impl Debug for GeometryNode
Source§impl From<Aabb> for GeometryNode
impl From<Aabb> for GeometryNode
Source§fn from(value: Aabb) -> GeometryNode
fn from(value: Aabb) -> GeometryNode
Source§impl From<Curve2> for GeometryNode
impl From<Curve2> for GeometryNode
Source§fn from(value: Curve2) -> GeometryNode
fn from(value: Curve2) -> GeometryNode
Source§impl From<Curve3> for GeometryNode
impl From<Curve3> for GeometryNode
Source§fn from(value: Curve3) -> GeometryNode
fn from(value: Curve3) -> GeometryNode
Source§impl From<CurveRelation> for GeometryNode
impl From<CurveRelation> for GeometryNode
Source§fn from(value: CurveRelation) -> GeometryNode
fn from(value: CurveRelation) -> GeometryNode
Source§impl From<DAffine3> for GeometryNode
impl From<DAffine3> for GeometryNode
Source§fn from(value: DAffine3) -> GeometryNode
fn from(value: DAffine3) -> GeometryNode
Source§impl From<Frame2> for GeometryNode
impl From<Frame2> for GeometryNode
Source§fn from(value: Frame2) -> GeometryNode
fn from(value: Frame2) -> GeometryNode
Source§impl From<Frame3> for GeometryNode
impl From<Frame3> for GeometryNode
Source§fn from(value: Frame3) -> GeometryNode
fn from(value: Frame3) -> GeometryNode
Source§impl From<HalfSpace> for GeometryNode
impl From<HalfSpace> for GeometryNode
Source§fn from(value: HalfSpace) -> GeometryNode
fn from(value: HalfSpace) -> GeometryNode
Source§impl From<Instance> for GeometryNode
impl From<Instance> for GeometryNode
Source§fn from(value: Instance) -> GeometryNode
fn from(value: Instance) -> GeometryNode
Source§impl From<OpenProfile> for GeometryNode
impl From<OpenProfile> for GeometryNode
Source§fn from(value: OpenProfile) -> GeometryNode
fn from(value: OpenProfile) -> GeometryNode
Source§impl From<PointOnCurve> for GeometryNode
impl From<PointOnCurve> for GeometryNode
Source§fn from(value: PointOnCurve) -> GeometryNode
fn from(value: PointOnCurve) -> GeometryNode
Source§impl From<PointOnSurface> for GeometryNode
impl From<PointOnSurface> for GeometryNode
Source§fn from(value: PointOnSurface) -> GeometryNode
fn from(value: PointOnSurface) -> GeometryNode
Source§impl From<PolygonMesh> for GeometryNode
impl From<PolygonMesh> for GeometryNode
Source§fn from(value: PolygonMesh) -> GeometryNode
fn from(value: PolygonMesh) -> GeometryNode
Source§impl From<Primitive> for GeometryNode
impl From<Primitive> for GeometryNode
Source§fn from(value: Primitive) -> GeometryNode
fn from(value: Primitive) -> GeometryNode
Source§impl From<Profile> for GeometryNode
impl From<Profile> for GeometryNode
Source§fn from(value: Profile) -> GeometryNode
fn from(value: Profile) -> GeometryNode
Source§impl From<SolidOperation> for GeometryNode
impl From<SolidOperation> for GeometryNode
Source§fn from(value: SolidOperation) -> GeometryNode
fn from(value: SolidOperation) -> GeometryNode
Source§impl From<Surface> for GeometryNode
impl From<Surface> for GeometryNode
Source§fn from(value: Surface) -> GeometryNode
fn from(value: Surface) -> GeometryNode
Source§impl From<SurfaceRelation> for GeometryNode
impl From<SurfaceRelation> for GeometryNode
Source§fn from(value: SurfaceRelation) -> GeometryNode
fn from(value: SurfaceRelation) -> GeometryNode
Source§impl From<TriMesh> for GeometryNode
impl From<TriMesh> for GeometryNode
Source§fn from(value: TriMesh) -> GeometryNode
fn from(value: TriMesh) -> GeometryNode
Source§impl PartialEq for GeometryNode
impl PartialEq for GeometryNode
impl StructuralPartialEq for GeometryNode
Auto Trait Implementations§
impl Freeze for GeometryNode
impl RefUnwindSafe for GeometryNode
impl Send for GeometryNode
impl Sync for GeometryNode
impl Unpin for GeometryNode
impl UnwindSafe for GeometryNode
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