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 the origin. If origin is omitted, rotates around the shape's centroid.
override
scale(num factor) LineSegment
Scales the shape uniformly by the given factor originating 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