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()
.start point
.— help for Line/update_single_point —
Curve/update_single_point is an undocumented builtin Line method.