8 #ifndef SkPoint3_DEFINED
9 #define SkPoint3_DEFINED
55 p.
set(scale * fX, scale * fY, scale * fZ);
108 return { t * p.
fX, t * p.
fY, t * p.
fZ };
136 return DotProduct(*
this, vec);
151 return CrossProduct(*
this, vec);
SkPoint3 SkVector3
Definition: SkPoint3.h:155
SkPoint3 SkColor3f
Definition: SkPoint3.h:156
static bool SkScalarIsNaN(SkScalar x)
Definition: SkScalar.h:64
float SkScalar
Definition: SkScalar.h:14
Definition: SkPoint3.h:14
friend SkPoint3 operator+(const SkPoint3 &a, const SkPoint3 &b)
Returns a new point whose coordinates are the sum of a and b (a + b)
Definition: SkPoint3.h:87
static SkScalar Length(SkScalar x, SkScalar y, SkScalar z)
Returns the Euclidian distance from (0,0,0) to (x,y,z)
void operator+=(const SkPoint3 &v)
Add v's coordinates to the point's.
Definition: SkPoint3.h:93
friend bool operator==(const SkPoint3 &a, const SkPoint3 &b)
Definition: SkPoint3.h:29
SkPoint3 cross(const SkPoint3 &vec) const
Definition: SkPoint3.h:150
static SkPoint3 CrossProduct(const SkPoint3 &a, const SkPoint3 &b)
Returns the cross product of a and b, treating them as 3D vectors.
Definition: SkPoint3.h:141
friend SkPoint3 operator*(SkScalar t, SkPoint3 p)
Definition: SkPoint3.h:107
SkScalar fX
Definition: SkPoint3.h:15
static SkPoint3 Make(SkScalar x, SkScalar y, SkScalar z)
Definition: SkPoint3.h:17
void operator-=(const SkPoint3 &v)
Subtract v's coordinates from the point's.
Definition: SkPoint3.h:101
SkScalar x() const
Definition: SkPoint3.h:23
friend SkPoint3 operator-(const SkPoint3 &a, const SkPoint3 &b)
Returns a new point whose coordinates are the difference between a and b (i.e., a - b)
Definition: SkPoint3.h:81
SkScalar length() const
Return the Euclidian distance from (0,0,0) to the point.
Definition: SkPoint3.h:43
SkPoint3 makeScale(SkScalar scale) const
Return a new point whose X, Y and Z coordinates are scaled.
Definition: SkPoint3.h:53
SkScalar y() const
Definition: SkPoint3.h:24
friend bool operator!=(const SkPoint3 &a, const SkPoint3 &b)
Definition: SkPoint3.h:33
SkScalar fZ
Definition: SkPoint3.h:15
bool normalize()
Set the point (vector) to be unit-length in the same direction as it already points.
SkScalar dot(const SkPoint3 &vec) const
Definition: SkPoint3.h:135
void set(SkScalar x, SkScalar y, SkScalar z)
Definition: SkPoint3.h:27
static SkScalar DotProduct(const SkPoint3 &a, const SkPoint3 &b)
Returns the dot product of a and b, treating them as 3D vectors.
Definition: SkPoint3.h:131
bool isFinite() const
Returns true if fX, fY, and fZ are measurable values.
Definition: SkPoint3.h:115
SkPoint3 operator-() const
Return a new point whose X, Y and Z coordinates are the negative of the original point's.
Definition: SkPoint3.h:70
SkScalar z() const
Definition: SkPoint3.h:25
void scale(SkScalar value)
Scale the point's coordinates by scale.
Definition: SkPoint3.h:61
SkScalar fY
Definition: SkPoint3.h:15