[cig-commits] commit: Getting the Contour drawing object to draw contours of all the walls in 3D

Mercurial hg at geodynamics.org
Mon Nov 24 11:29:23 PST 2008


changeset:   55:0ad4f3f0a04e
user:        RobertTurnbull
date:        Fri May 23 04:16:39 2008 +0000
files:       DrawingObjects/src/Contour.c DrawingObjects/src/Contour.h
description:
Getting the Contour drawing object to draw contours of all the walls in 3D
	previously it was only drawing contours on one of the walls.


diff -r ead4cc90eb97 -r 0ad4f3f0a04e DrawingObjects/src/Contour.c
--- a/DrawingObjects/src/Contour.c	Mon Apr 21 03:20:07 2008 +0000
+++ b/DrawingObjects/src/Contour.c	Fri May 23 04:16:39 2008 +0000
@@ -39,7 +39,7 @@
 *+		Patrick Sunter
 *+		Greg Watson
 *+
-** $Id: Contour.c 740 2007-10-11 08:05:31Z SteveQuenette $
+** $Id: Contour.c 769 2008-05-23 04:16:39Z RobertTurnbull $
 ** 
 **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
@@ -255,17 +255,18 @@ void _lucContour_BuildDisplayList( void*
 		if ( colourMap )
 			lucColourMap_SetOpenGLColourFromValue( colourMap, isovalue );
 
-		lucContour_DrawContour( self, isovalue, 0.0, K_AXIS, min, max ); 
+		lucContour_DrawContourWalls( self, isovalue, min, max );
 	}
 	
 	/* Draw isovalues at interval */
 	if ( interval <= 0.0 ) 
 		return;
 
-	for ( isovalue = minIsovalue ; isovalue < maxIsovalue ; isovalue += interval ) {
+	for ( isovalue = minIsovalue + interval ; isovalue < maxIsovalue ; isovalue += interval ) {
 		if ( colourMap )
 			lucColourMap_SetOpenGLColourFromValue( colourMap, isovalue );
-		lucContour_DrawContour( self, isovalue, 0.0, K_AXIS, min, max ); 
+		
+		lucContour_DrawContourWalls( self, isovalue, min, max );
 	}
 }
 
@@ -274,6 +275,29 @@ void _lucContour_BuildDisplayList( void*
 #define RIGHT  1
 #define BOTTOM 2
 #define TOP    3
+
+void lucContour_DrawContourWalls( 
+		void*                                             drawingObject,
+		double                                            isovalue,
+		Coord                                             min,
+		Coord                                             max )
+{
+	lucContour*            self            = (lucContour*)drawingObject;
+	Dimension_Index        dim             = self->fieldVariable->dim;
+
+	if ( dim == 2 ) {
+		lucContour_DrawContour( self, isovalue, 0.0, K_AXIS, min, max ); 
+	}
+	else {
+		lucContour_DrawContour( self, isovalue, min[ I_AXIS ], I_AXIS, min, max ); 
+		lucContour_DrawContour( self, isovalue, max[ I_AXIS ], I_AXIS, min, max ); 
+		lucContour_DrawContour( self, isovalue, min[ J_AXIS ], J_AXIS, min, max ); 
+		lucContour_DrawContour( self, isovalue, max[ J_AXIS ], J_AXIS, min, max ); 
+		lucContour_DrawContour( self, isovalue, min[ K_AXIS ], K_AXIS, min, max ); 
+		lucContour_DrawContour( self, isovalue, max[ K_AXIS ], K_AXIS, min, max ); 
+	}
+}
+	
 
 void lucContour_DrawContour( 
 		void*                                             drawingObject,
diff -r ead4cc90eb97 -r 0ad4f3f0a04e DrawingObjects/src/Contour.h
--- a/DrawingObjects/src/Contour.h	Mon Apr 21 03:20:07 2008 +0000
+++ b/DrawingObjects/src/Contour.h	Fri May 23 04:16:39 2008 +0000
@@ -39,7 +39,7 @@
 *+		Patrick Sunter
 *+		Greg Watson
 *+
-** $Id: Contour.h 628 2006-10-12 08:23:07Z SteveQuenette $
+** $Id: Contour.h 769 2008-05-23 04:16:39Z RobertTurnbull $
 ** 
 **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
@@ -105,6 +105,12 @@
 
 	void _lucContour_BuildDisplayList( void* drawingObject, void* _context ) ;
 
+	void lucContour_DrawContourWalls( 
+		void*                                             drawingObject,
+		double                                            isovalue,
+		Coord                                             min,
+		Coord                                             max );
+
 	void lucContour_DrawContour( 
 		void*                                             drawingObject,
 		double                                            isovalue,



More information about the CIG-COMMITS mailing list