Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: include/core/SkPoint3.h

Issue 2198263002: Image filters: force near-zero floating point parameters to zero. Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | include/core/SkScalar.h » ('j') | include/core/SkScalar.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkPoint3_DEFINED 8 #ifndef SkPoint3_DEFINED
9 #define SkPoint3_DEFINED 9 #define SkPoint3_DEFINED
10 10
(...skipping 29 matching lines...) Expand all
40 /** Return the Euclidian distance from (0,0,0) to the point 40 /** Return the Euclidian distance from (0,0,0) to the point
41 */ 41 */
42 SkScalar length() const { return SkPoint3::Length(fX, fY, fZ); } 42 SkScalar length() const { return SkPoint3::Length(fX, fY, fZ); }
43 43
44 /** Set the point (vector) to be unit-length in the same direction as it 44 /** Set the point (vector) to be unit-length in the same direction as it
45 already points. If the point has a degenerate length (i.e., nearly 0) 45 already points. If the point has a degenerate length (i.e., nearly 0)
46 then set it to (0,0,0) and return false; otherwise return true. 46 then set it to (0,0,0) and return false; otherwise return true.
47 */ 47 */
48 bool normalize(); 48 bool normalize();
49 49
50 SkPoint3 makeDenormalsZero() const;
51
50 /** Return a new point whose X, Y and Z coordinates are scaled. 52 /** Return a new point whose X, Y and Z coordinates are scaled.
51 */ 53 */
52 SkPoint3 makeScale(SkScalar scale) const { 54 SkPoint3 makeScale(SkScalar scale) const {
53 SkPoint3 p; 55 SkPoint3 p;
54 p.set(scale * fX, scale * fY, scale * fZ); 56 p.set(scale * fX, scale * fY, scale * fZ);
55 return p; 57 return p;
56 } 58 }
57 59
58 /** Scale the point's coordinates by scale. 60 /** Scale the point's coordinates by scale.
59 */ 61 */
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 117
116 SkScalar dot(const SkPoint3& vec) const { 118 SkScalar dot(const SkPoint3& vec) const {
117 return DotProduct(*this, vec); 119 return DotProduct(*this, vec);
118 } 120 }
119 }; 121 };
120 122
121 typedef SkPoint3 SkVector3; 123 typedef SkPoint3 SkVector3;
122 typedef SkPoint3 SkColor3f; 124 typedef SkPoint3 SkColor3f;
123 125
124 #endif 126 #endif
OLDNEW
« no previous file with comments | « no previous file | include/core/SkScalar.h » ('j') | include/core/SkScalar.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698