Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-07-30 12:08:31 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2015-07-20 00:17:59 +0300
commit160c65845dc52b2c705b1ead6e260a399fdccadb (patch)
tree9a2b3a992d4feb8d2778c50cd96bfc58847aac91 /source/blender/freestyle/intern/view_map
parent86572dd7c97b8d4ed91dc3a5d46297e6de02e567 (diff)
Freestyle: minor optimization for space in the FEdgeXDetector.
Member variables and auto variables were changed from real (double) to float in most part of the FEdgeXDetector (except for curvature computations).
Diffstat (limited to 'source/blender/freestyle/intern/view_map')
-rw-r--r--source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp28
-rw-r--r--source/blender/freestyle/intern/view_map/FEdgeXDetector.h16
2 files changed, 22 insertions, 22 deletions
diff --git a/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp b/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
index f2aeee08ddf..85c6390cb9e 100644
--- a/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
+++ b/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
@@ -148,16 +148,16 @@ void FEdgeXDetector::preProcessShape(WXShape *iWShape)
void FEdgeXDetector::preProcessFace(WXFace *iFace)
{
- Vec3r firstPoint = iFace->GetVertex(0)->GetVertex();
- Vec3r N = iFace->GetNormal();
+ Vec3f firstPoint = iFace->GetVertex(0)->GetVertex();
+ Vec3f N = iFace->GetNormal();
// Compute the dot product between V (=_Viewpoint - firstPoint) and N:
- Vec3r V;
+ Vec3f V;
if (_orthographicProjection) {
- V = Vec3r(0.0, 0.0, _Viewpoint.z() - firstPoint.z());
+ V = Vec3f(0.0f, 0.0f, _Viewpoint.z() - firstPoint.z());
}
else {
- V = Vec3r(_Viewpoint - firstPoint);
+ V = Vec3f(_Viewpoint - firstPoint);
}
N.normalize();
V.normalize();
@@ -168,7 +168,7 @@ void FEdgeXDetector::preProcessFace(WXFace *iFace)
iFace->setZ(iFace->center().z() - _Viewpoint.z());
}
else {
- Vec3r dist_vec(iFace->center() - _Viewpoint);
+ Vec3f dist_vec(iFace->center() - _Viewpoint);
iFace->setZ(dist_vec.norm());
}
}
@@ -273,33 +273,33 @@ void FEdgeXDetector::processSilhouetteShape(WXShape *iWShape)
void FEdgeXDetector::ProcessSilhouetteFace(WXFace *iFace)
{
// SILHOUETTE LAYER
- Vec3r normal;
+ Vec3f normal;
// Compute the dot products between View direction and N at each vertex of the face:
- Vec3r point;
+ Vec3f point;
int closestPointId = 0;
- real dist, minDist = FLT_MAX;
+ float dist, minDist = FLT_MAX;
int numVertices = iFace->numberOfVertices();
WXFaceLayer *faceLayer = new WXFaceLayer(iFace, Nature::SILHOUETTE, true);
for (int i = 0; i < numVertices; i++) {
point = iFace->GetVertex(i)->GetVertex();
normal = iFace->GetVertexNormal(i);
normal.normalize();
- Vec3r V;
+ Vec3f V;
if (_orthographicProjection) {
- V = Vec3r(0.0, 0.0, _Viewpoint.z() - point.z());
+ V = Vec3f(0.0f, 0.0f, _Viewpoint.z() - point.z());
}
else {
- V = Vec3r(_Viewpoint - point);
+ V = Vec3f(_Viewpoint - point);
}
V.normalize();
- real d = normal * V;
+ float d = normal * V;
faceLayer->PushDotP(d);
// Find the point the closest to the viewpoint
if (_orthographicProjection) {
dist = point.z() - _Viewpoint.z();
}
else {
- Vec3r dist_vec(point - _Viewpoint);
+ Vec3f dist_vec(point - _Viewpoint);
dist = dist_vec.norm();
}
if (dist < minDist) {
diff --git a/source/blender/freestyle/intern/view_map/FEdgeXDetector.h b/source/blender/freestyle/intern/view_map/FEdgeXDetector.h
index 9087d05939a..cbb47d387fb 100644
--- a/source/blender/freestyle/intern/view_map/FEdgeXDetector.h
+++ b/source/blender/freestyle/intern/view_map/FEdgeXDetector.h
@@ -98,7 +98,7 @@ public:
* a crease edge if the angle between two faces sharing the edge is smaller than the given threshold.
*/
// XXX angle should be in radian...
- inline void setCreaseAngle(real angle)
+ inline void setCreaseAngle(float angle)
{
if (angle < 0.0)
angle = 0.0;
@@ -128,7 +128,7 @@ public:
* \param dkr
* The minimal derivative of the radial curvature
*/
- inline void setSuggestiveContourKrDerivativeEpsilon(real dkr)
+ inline void setSuggestiveContourKrDerivativeEpsilon(float dkr)
{
if (dkr != _kr_derivative_epsilon) {
_kr_derivative_epsilon = dkr;
@@ -148,7 +148,7 @@ public:
virtual void buildSmoothEdges(WXShape *iShape);
/*! Sets the current viewpoint */
- inline void setViewpoint(const Vec3r& ivp)
+ inline void setViewpoint(const Vec3f& ivp)
{
_Viewpoint = ivp;
}
@@ -193,7 +193,7 @@ public:
* \param r
* The radius of the sphere expressed as a ratio of the mean edge size
*/
- inline void setSphereRadius(real r)
+ inline void setSphereRadius(float r)
{
if (r != _sphereRadius) {
_sphereRadius = r;
@@ -212,7 +212,7 @@ public:
}
protected:
- Vec3r _Viewpoint;
+ Vec3f _Viewpoint;
#if 0
real _bbox_diagonal; // diagonal of the current processed shape bbox
#endif
@@ -233,11 +233,11 @@ protected:
bool _computeMaterialBoundaries;
bool _faceSmoothness;
bool _faceMarks;
- real _sphereRadius; // expressed as a ratio of the mean edge size
- real _creaseAngle; // [-1, 1] compared with the inner product of face normals
+ float _sphereRadius; // expressed as a ratio of the mean edge size
+ float _creaseAngle; // [-1, 1] compared with the inner product of face normals
bool _changes;
- real _kr_derivative_epsilon;
+ float _kr_derivative_epsilon;
ProgressBar *_pProgressBar;
RenderMonitor *_pRenderMonitor;