Summary for: Curve < handle & ProxyObject & matlab.mixin.Heterogeneous
Class summary
CURVE Abstract base class for representing line segments and circle arcs
Properties
.Curve/left_surface is a property.
.name - name, Optional
.pcenter - Center Point of Arc.
.pend - end Point of curve
.periodic_with - Another curve that this is periodic with.
.pstart - start Point of curve
.Curve/right_surface is a property.
.type - Type (geo.line or geo.arc)
.Curve/xend is a property.
.Curve/xstart is a property.
Methods
Class methods are listed below. Inherited methods are not included.
.Constructor
this = Curve(pstart, pend)
Create a line segment (geo.line) between the Point objects. pstart and pend.
this = Curve(pstart, pcenter, pend)
Create a circle arc (geo.arc) between pstart and pend, centered at pcenter. Documentation for Curve/Curve doc Curve
.add_to_points Add this to defining Points.
.angle Angle between two Curves.
Call syntax
a = c1.angle(c2)
a = angle(c1, c2)
Returns the angle a.
.Curve/center is a function.
pc = center(this)
.curve_length Length of curve.
l = curve_length(this) returns the length of the Curve:
- regular length for Lines *
.Curve/detach is a function.
detach(this)
.Curve/distance_from_point is a function.
[d, Pclosest] = distance_from_point(this, P)
.Direction of this Curve to join with other curve.
ldir = extend_direction(this, other_curve)
.extends Check if this Curve extends other curve.
bl = extends(this, other_curve, other_curve_direction)
.flip Flip Curve.
flip_curve(this) flips the Curve, i.e. does the following two tasks:
- Flip the direction of Points defining this
- Update the line_direction in
this.left_surface
andthis.right_surface
.get_point_ids Return the ids of Points defining this.
ids = get_point_ids(this) returns a COLUMN vector (size(ids,2) = 1) of the ids of all Points (Point.id) defining this.
.get_xy Get xy-coordinates of start- and end-points.
.joinable_with Check if this Curve joins with other Curve.
bl = joinable_with(this, other_line)
bl = true if this shares a point with other_line
.Curve/next_left is a function.
l = next_left(this, P)
.norm Length of Curve.
.plot Plot Curve.
.Curve/points is a function.
X = points(this)
.rotate Rotate around the origin, return a new Curve.
.set_characteristic_length Set characteristic length.
set_characteristic_length(this, lcar) sets the characteristic length on the Curve
to lcar
.
.Curve/split_with_point is a function.
new_curve = split_with_point(this, P)
.tangent Return Curve tangent.
t = tangent(this) returns the Curve tangent vector
t = tangent(this, p) returns the Curve tangent at the desired point.
.unique_not_proxy Return unique Curves, proxy the rest.
c = unique_not_proxy(this) returns the unique Curves in the array this , with ‘unique’ understood as a unique combination of id
values of the Points
defining each curve.
** WARNING If there are Curves of identical but opposite definitions in terms of the unique Points, the replicate curves are flipped where appropriate with Curve.flip()