Vec3

ostrat.geom.Vec3
See theVec3 companion object
final class Vec3(val x: Double, val y: Double, val z: Double) extends Vec3Like

A 3 dimensional vector. This is similar data to Pt3. The purpose of this separate type is to encode the relative nature of the Vec3 as opposed to the absolute nature of a point. So usually you will want and need to add the vector to an absolute point to return to the absolute realm of points. Thanks to René Descartes for this great idea.

Attributes

Companion
object
Graph
Supertypes
trait Vec3Like
trait ApproxDbl
trait Approx[Double]
trait Equals
trait Dbl3Elem
trait DblNElem
trait ValueNElem
trait SpecialT
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def approx(that: Any, precision: Double): Boolean

Attributes

Definition Classes
override def canEqual(that: Any): Boolean

Attributes

Definition Classes
override def equals(that: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Equals -> Any

Inherited methods

final inline override def dbl1: Double

Attributes

Definition Classes
Inherited from:
Vec3Like
final inline override def dbl2: Double

Attributes

Definition Classes
Inherited from:
Vec3Like
final inline override def dbl3: Double

Attributes

Definition Classes
Inherited from:
Vec3Like
override def dblBufferAppend(buffer: ArrayBuffer[Double]): Unit

Utility method to append this as an element to an ArrayBuffer[Double]. End users should rarely need to use this method.

Utility method to append this as an element to an ArrayBuffer[Double]. End users should rarely need to use this method.

Attributes

Definition Classes
Inherited from:
Dbl3Elem
override def dblForeach(f: Double => Unit): Unit

Performs the side effecting function on each Double in this Product element.

Performs the side effecting function on each Double in this Product element.

Attributes

Definition Classes
Inherited from:
Dbl3Elem
def dblsApprox(that: Dbl3Elem, delta: Double): Boolean

Attributes

Inherited from:
Dbl3Elem
def dblsEqual(that: Dbl3Elem): Boolean

Attributes

Inherited from:
Dbl3Elem
override def precisionDefault: Double

Attributes

Definition Classes
Inherited from:
ApproxDbl

Concrete fields

val x: Double
val y: Double
val z: Double