LineSegment class
Defines a mathematical line segment strictly via 2 points in 2D space.
- Implemented types
Constructors
-
LineSegment({required Point<
num> p1, required Point<num> p2}) - Creates a LineSegment by defining its two endpoints.
Properties
- area → double
-
The total surface area of the shape.
no setteroverride
- boundingBox → Rectangle
-
The smallest axis-aligned rectangle that completely encloses the shape.
no setteroverride
-
centroid
→ Point<
double> -
The mathematical center of mass of the shape.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- length → double
-
The exact mathematical length of the line segment.
no setter
-
p1
→ Point<
num> -
The starting vertex.
final
-
p2
→ Point<
num> -
The ending vertex.
final
- perimeter → double
-
The total length of the shape's boundary.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
rotate(
double angle, [Point< num> ? origin]) → LineSegment -
Rotates the shape by the given
angle(in radians) around theorigin. Iforiginis omitted, rotates around the shape's centroid.override -
scale(
num factor) → LineSegment -
Scales the shape uniformly by the given
factororiginating from centroid.override -
toString(
) → String -
A string representation of this object.
override
-
translate(
Point< num> offset) → LineSegment -
Translates the shape by the given vector
offset.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited