8 #ifndef SkPoint3_DEFINED
9 #define SkPoint3_DEFINED
16 static SkPoint3 Make(SkScalar x, SkScalar y, SkScalar z) {
22 SkScalar x()
const {
return fX; }
23 SkScalar y()
const {
return fY; }
24 SkScalar z()
const {
return fZ; }
26 void set(SkScalar x, SkScalar y, SkScalar z) { fX = x; fY = y; fZ = z; }
29 return a.fX == b.fX && a.fY == b.fY && a.fZ == b.fZ;
38 static SkScalar Length(SkScalar x, SkScalar y, SkScalar z);
54 p.set(scale * fX, scale * fY, scale * fZ);
82 v.set(a.fX - b.fX, a.fY - b.fY, a.fZ - b.fZ);
90 v.set(a.fX + b.fX, a.fY + b.fY, a.fZ + b.fZ);
113 return a.fX * b.fX + a.fY * b.fY + a.fZ * b.fZ;
116 SkScalar dot(
const SkPoint3& vec)
const {
117 return DotProduct(*
this, vec);
Definition: SkPoint3.h:13
void scale(SkScalar value)
Scale the point's coordinates by scale.
Definition: SkPoint3.h:60
void operator+=(const SkPoint3 &v)
Add v's coordinates to the point's.
Definition: SkPoint3.h:96
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:80
static SkScalar Length(SkScalar x, SkScalar y, SkScalar z)
Returns the Euclidian distance from (0,0,0) to (x,y,z)
SkScalar length() const
Return the Euclidian distance from (0,0,0) to the point.
Definition: SkPoint3.h:42
void operator-=(const SkPoint3 &v)
Subtract v's coordinates from the point's.
Definition: SkPoint3.h:104
SkPoint3 operator-() const
Return a new point whose X, Y and Z coordinates are the negative of the original point's.
Definition: SkPoint3.h:69
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:88
SkPoint3 makeScale(SkScalar scale) const
Return a new point whose X, Y and Z coordinates are scaled.
Definition: SkPoint3.h:52
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:112