#[non_exhaustive]pub enum CurveRelation {
Composite {
segments: Vec<CurveSegment>,
},
Trimmed {
basis: NodeId,
start: Vec<TrimSelector>,
end: Vec<TrimSelector>,
sense_agreement: bool,
preference: TrimmingPreference,
},
Offset {
basis: NodeId,
distance: Scalar,
reference_direction: Option<Vec3>,
},
SurfaceCurve {
curve_3d: NodeId,
sides: SurfaceSides,
master: MasterRepresentation,
},
ParameterCurve {
basis_surface: NodeId,
reference_curve: NodeId,
},
OffsetByStations {
basis: NodeId,
stations: Vec<Station>,
frame: StationFrame,
},
OffsetsAtStations {
basis: NodeId,
stations: Vec<RunStation>,
frame: StationFrame,
},
}Expand description
Relationship between curve nodes.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Composite
Ordered composite curve.
Fields
segments: Vec<CurveSegment>Trimmed
Trimmed view of a basis curve.
Offset
Constant-distance offset.
SurfaceCurve
Three-dimensional curve associated with one or more surfaces/pcurves.
Fields
sides: SurfaceSidesThe parametric sides, each pairing a surface with its own p-curve.
master: MasterRepresentationParameterCurve
Two-dimensional parameter curve on a surface.
OffsetByStations
A curve through offsets given at stations along a basis curve (#241).
The curve runs from the first station’s distance to the last’s; at
a distance s between two stations it is the point the offsets
linearly interpolated in s give in the basis curve’s frame at
s (see crate::station). It is a 3D curve whatever the basis:
a 2D basis lies in z = 0. At least two stations, strictly
increasing in distance, are required.
OffsetsAtStations
A curve through offsets given at stations along a basis curve, each
station with the side of a seam it reads and a seam-snapping window
(#301): the general form of CurveRelation::OffsetByStations.
The curve is the one OffsetByStations names for the stations at
their snapped distances: a windowed station within its window of
one seam of the basis stands on that seam, and the side is read
where the run does not decide it (see crate::station). At least
two stations, strictly increasing in distance, are required.
Trait Implementations§
impl BuiltInNode for CurveRelation
Source§impl Clone for CurveRelation
impl Clone for CurveRelation
Source§fn clone(&self) -> CurveRelation
fn clone(&self) -> CurveRelation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more