]> granicus.if.org Git - graphviz/commitdiff
smyrna: use a double for 'global_z'
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 14 Jan 2023 05:21:09 +0000 (21:21 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 15 Jan 2023 16:59:31 +0000 (08:59 -0800)
Most of the calculations with this and uses of it are with doubles. So making it
a double as well avoids losing intermediate precision. Squashes 5
-Wfloat-conversion warnings.

cmd/smyrna/draw.c
cmd/smyrna/smyrnadefs.h
cmd/smyrna/topviewfuncs.c
lib/glcomp/glcompfont.c
lib/glcomp/glcompfont.h

index 6bfcf6bf75e966dbd6ef784a32f674c5dd625474..59386b7ed78e399156d716abc17a7f57b8b63c78 100644 (file)
@@ -181,7 +181,7 @@ static void DrawEllipse(sdot_op*  o, int param)
        //convert degrees into radians
        float degInRad = (float) (i * DEG2RAD);
        glVertex3f((GLfloat) (x + cos(degInRad) * xradius),
-                  (GLfloat) (y + sin(degInRad) * yradius), view->Topview->global_z);
+                  (GLfloat) (y + sin(degInRad) * yradius), (GLfloat)view->Topview->global_z);
     }
     glEnd();
 }
@@ -233,7 +233,7 @@ static void DrawPolyline(sdot_op* o, int param)
     for (size_t i = 0; i < op->u.polyline.cnt; ++i) {
        glVertex3f((GLfloat) op->u.polyline.pts[i].x - dx,
                   (GLfloat) op->u.polyline.pts[i].y - dy,
-                  (GLfloat) op->u.polyline.pts[i].z + view->Topview->global_z);
+                  (GLfloat)(op->u.polyline.pts[i].z + view->Topview->global_z));
     }
     glEnd();
 }
@@ -404,7 +404,7 @@ void drawCircle(float x, float y, float radius, float zdepth)
        float degInRad = (float) (i * DEG2RAD);
        glVertex3f((GLfloat) (x + cos(degInRad) * radius),
                   (GLfloat) (y + sin(degInRad) * radius),
-                  (GLfloat) zdepth + view->Topview->global_z);
+                  (GLfloat)(zdepth + view->Topview->global_z));
     }
 
     glEnd();
index 4cb9d680878555cfeda5e5584d3cacf283353154..4939689eda2e320e1141d987ee162a71dd121de9 100644 (file)
@@ -257,7 +257,7 @@ typedef struct
        float minedgelen;
        float fitin_zoom;
        xdot* xDot;
-       float global_z;
+       double global_z;
        attr_list* attributes;/*attribute list*/
 
        topviewcache cache;
index 8eda2813fdba62dd2120d40a282d0f422881b0be..6dabb9a1084b60ba3943c999a59ee1c92549aec9 100644 (file)
@@ -71,7 +71,7 @@ static void set_boundaries(Agraph_t * g)
     view->bdyBottom = bottom;
 }
 
-static void draw_xdot(xdot* x,float base_z)
+static void draw_xdot(xdot* x, double base_z)
 {
        sdot_op *op;
        if (!x)
@@ -318,7 +318,7 @@ static void renderNodes(Agraph_t * g)
 
     x=parseXdotwithattrs(g);
     if (x) {
-       draw_xdot(x,-0.2f);
+       draw_xdot(x, -0.2);
        freeXDot (x);
     }
     for (v = agfstnode(g); v; v = agnxtnode(g, v)) 
@@ -326,7 +326,7 @@ static void renderNodes(Agraph_t * g)
            if(!object_color(v,&c))
                continue;
            x=parseXdotwithattrs(v);
-           draw_xdot(x,-0.1f);
+           draw_xdot(x, -0.1);
 
            if(x)
                freeXDot (x);
index a763e85fe2da4a02d1776c8880d33344b5fbc704..65fcf12bcc655bf1b7a84d3d7fb6d45cfadeacff 100644 (file)
@@ -121,8 +121,8 @@ glCompFont *glNewFontFromParent(glCompObj * o, char *text)
 }
 
 /*texture base 3d text rendering*/
-void glCompDrawText3D(glCompFont * f,GLfloat x,GLfloat y,GLfloat z,GLfloat w,GLfloat h)
-{
+void glCompDrawText3D(glCompFont *f, GLfloat x, GLfloat y, double z, GLfloat w,
+                      GLfloat h) {
        glEnable(GL_BLEND);             // Turn Blending On
        glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
        glEnable(GL_TEXTURE_2D);
index e282ccab2eaf96ee0438c5880c966b0530046233..1562473cef447ad3ef71cd6f79aa19e90876dcd0 100644 (file)
@@ -32,7 +32,8 @@ extern "C" {
     void glDeleteFont(glCompFont * f);
     void glCompDrawText(glCompFont * f,GLfloat x,GLfloat y);
     void glCompRenderText(glCompFont * f, glCompObj * parentObj);
-    void glCompDrawText3D(glCompFont * f,GLfloat x,GLfloat y,GLfloat z,GLfloat w,GLfloat h);
+    void glCompDrawText3D(glCompFont *f, GLfloat x, GLfloat y, double z,
+                          GLfloat w, GLfloat h);
 
 #ifdef __cplusplus
 }