MutableSegment
public final class MutableSegment extends Segment
Represents a mutable directed line segment between two points. See ImmutableSegment for the immutable alternative.
Summary
Public constructors |
|---|
|
Constructs a degenerate |
MutableSegment(@NonNull MutableVec start, @NonNull MutableVec end)Create the |
Public methods |
|
|---|---|
boolean |
|
@NonNull MutableVec |
getEnd() |
@NonNull MutableVec |
getStart() |
int |
hashCode() |
final @NonNull MutableSegment |
populateFrom(@NonNull Segment input)Fills this |
void |
setEnd(@NonNull MutableVec value) |
void |
setStart(@NonNull MutableVec value) |
@NonNull ImmutableSegment |
Returns an immutable copy of this object. |
@NonNull String |
toString() |
Inherited methods |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Public constructors
MutableSegment
public MutableSegment()
Constructs a degenerate MutableSegment with both start and end set to (0f, 0f)
MutableSegment
public MutableSegment(@NonNull MutableVec start, @NonNull MutableVec end)
Create the MutableSegment from two existing MutableVec instances. Note that these instances will become the internal state of this MutableSegment, so modifications made to them directly or through setters on this MutableSegment will modify the input MutableVec instances too. This is to allow performance-critical code to avoid any unnecessary allocations. This can be tricky to manage, especially in multithreaded code, so when calling code is unable to guarantee ownership of the nested mutable data at a particular time, it may be safest to construct this with copies of the data to give this MutableSegment exclusive ownership of those copies.
Public methods
populateFrom
public final @NonNull MutableSegment populateFrom(@NonNull Segment input)
Fills this MutableSegment with the same values contained in input.
Returns the modified instance to allow chaining calls.
| Returns | |
|---|---|
@NonNull MutableSegment |
|
toImmutable
public @NonNull ImmutableSegment toImmutable()
Returns an immutable copy of this object. This will return itself if called on an immutable instance.