Commit 2f60e4e5 authored by hrchilds's avatar hrchilds
Browse files

Update from December 28, 2004

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@386 18c085ea-50e0-402c-830e-de6fd14e8384
parent 76ea9db2
......@@ -348,94 +348,6 @@ or 3.3.2 on all the systems except tru64 where you must can't use 2.3.0.
We recommend using 3.3.2. If you have any problems building or installing
Qt, read the INSTALL file in the Qt distribution for more information.
#
# Build Qt 2.3.0
#
gunzip qt-x11-2.3.0.tar.gz
tar xf qt-x11-2.3.0.tar
cd qt-2.3.0
setenv QTDIR `pwd`
# Use the appropriate configure command based on the operating system on
# which you are building Qt.
./configure -platform aix-g++ -shared -qt-libpng
./configure -platform irix-64 -shared -qt-libpng
./configure -platform linux-g++ -shared -qt-libpng
./configure -platform solaris-g++ -shared -qt-libpng
./configure -platform tru64-g++ -shared -qt-libpng
#
# On aix systems you will need to make the following changes to
# the file mkspecs/aix-g++/qmake.conf:
# remove "/usr/X11R6/include" from QMAKE_INCDIR_X11
# remove "/usr/X11R6/include" from QMAKE_INCDIR_OPENGL
#
make
#
# Install it in the visit directory under the qt directory.
#
mkdir $VISITDIR/qt
mkdir $VISITDIR/qt/2.3.0
mkdir $VISITDIR/qt/2.3.0/$VISITARCH
mkdir $VISITDIR/qt/2.3.0/$VISITARCH/{bin,include,lib}
cp bin/{designer,findtr,moc,qt20fix,qtrename140} $VISITDIR/qt/2.3.0/$VISITARCH/bin
cd include; cp *.h $VISITDIR/qt/2.3.0/$VISITARCH/include
cd ../lib;find . -print | cpio -pvmud $VISITDIR/qt/2.3.0/$VISITARCH/lib
cd ../..
#
# On aix systems you will need to add an additional link to the lib
# directory so that the loader can find the library.
#
# ln -s libqt.so.2.3.0 $VISITDIR/qt/2.3.0/$VISITARCH/lib/libqt.so
#
#
# Build Qt 3.0.2
#
gunzip qt-x11-free-3.0.2.tar.gz
tar xf qt-x11-free-3.0.2.tar
cd qt-x11-free-3.0.2
setenv QTDIR `pwd`
# Use the appropriate configure command based on the operating system on
# which you are building Qt.
./configure -platform aix-g++ -shared -qt-libpng
./configure -platform irix-64 -shared -qt-libpng
./configure -platform linux-g++ -shared -qt-libpng
./configure -platform solaris-g++ -shared -qt-libpng
./configure -platform tru64-g++ -shared -qt-libpng
#
# On tru64 systems you will need to make the following changes to
# the file mkspecs/tru64-g++/qmake.conf:
# remove "/usr/X11R6/include" from QMAKE_INCDIR_X11
# remove "/usr/X11R6/lib" from QMAKE_LIBDIR_X11
# remove "/usr/X11R6/include" from QMAKE_INCDIR_OPENGL
# set QMAKE_LIBDIR_OPENGL to "/usr/shlib"
#
# On aix systems you will need to make the following changes to
# the file mkspecs/aix-g++/qmake.conf:
# remove "/usr/X11R6/include" from QMAKE_INCDIR_X11
# remove "/usr/X11R6/include" from QMAKE_INCDIR_OPENGL
#
make
#
# Install it in the visit directory under the qt directory.
#
mkdir $VISITDIR/qt
mkdir $VISITDIR/qt/3.0.2
mkdir $VISITDIR/qt/3.0.2/$VISITARCH
mkdir $VISITDIR/qt/2.3.0/$VISITARCH/{bin,include,lib}
cp bin/{designer,findtr,moc,qt20fix,qtrename140} $VISITDIR/qt/3.0.2/$VISITARCH/bin
cd include; cp *.h $VISITDIR/qt/3.0.2/$VISITARCH/include
cp private/*.h $VISITDIR/qt/3.0.2/$VISITARCH/include/private
cd ../lib;find . -print | cpio -pvmud $VISITDIR/qt/3.0.2/$VISITARCH/lib
cd ../..
#
# On aix systems you will need to add an additional link to the lib
# directory so that the loader can find the library.
#
# ln -s libqt.so.3.0.2 $VISITDIR/qt/3.0.2/$VISITARCH/lib/libqt.so
#
#
# Build Qt 3.3.2
#
......@@ -537,6 +449,94 @@ cd ../..
# ln -s libqt.so.3.3.2 $VISITDIR/qt/3.3.2/$VISITARCH/lib/libqt.so
#
#
# Build Qt 3.0.2
#
gunzip qt-x11-free-3.0.2.tar.gz
tar xf qt-x11-free-3.0.2.tar
cd qt-x11-free-3.0.2
setenv QTDIR `pwd`
# Use the appropriate configure command based on the operating system on
# which you are building Qt.
./configure -platform aix-g++ -shared -qt-libpng
./configure -platform irix-64 -shared -qt-libpng
./configure -platform linux-g++ -shared -qt-libpng
./configure -platform solaris-g++ -shared -qt-libpng
./configure -platform tru64-g++ -shared -qt-libpng
#
# On tru64 systems you will need to make the following changes to
# the file mkspecs/tru64-g++/qmake.conf:
# remove "/usr/X11R6/include" from QMAKE_INCDIR_X11
# remove "/usr/X11R6/lib" from QMAKE_LIBDIR_X11
# remove "/usr/X11R6/include" from QMAKE_INCDIR_OPENGL
# set QMAKE_LIBDIR_OPENGL to "/usr/shlib"
#
# On aix systems you will need to make the following changes to
# the file mkspecs/aix-g++/qmake.conf:
# remove "/usr/X11R6/include" from QMAKE_INCDIR_X11
# remove "/usr/X11R6/include" from QMAKE_INCDIR_OPENGL
#
make
#
# Install it in the visit directory under the qt directory.
#
mkdir $VISITDIR/qt
mkdir $VISITDIR/qt/3.0.2
mkdir $VISITDIR/qt/3.0.2/$VISITARCH
mkdir $VISITDIR/qt/3.0.2/$VISITARCH/{bin,include,lib}
cp bin/{designer,findtr,moc,qt20fix,qtrename140} $VISITDIR/qt/3.0.2/$VISITARCH/bin
cd include; cp *.h $VISITDIR/qt/3.0.2/$VISITARCH/include
cp private/*.h $VISITDIR/qt/3.0.2/$VISITARCH/include/private
cd ../lib;find . -print | cpio -pvmud $VISITDIR/qt/3.0.2/$VISITARCH/lib
cd ../..
#
# On aix systems you will need to add an additional link to the lib
# directory so that the loader can find the library.
#
# ln -s libqt.so.3.0.2 $VISITDIR/qt/3.0.2/$VISITARCH/lib/libqt.so
#
#
# Build Qt 2.3.0
#
gunzip qt-x11-2.3.0.tar.gz
tar xf qt-x11-2.3.0.tar
cd qt-2.3.0
setenv QTDIR `pwd`
# Use the appropriate configure command based on the operating system on
# which you are building Qt.
./configure -platform aix-g++ -shared -qt-libpng
./configure -platform irix-64 -shared -qt-libpng
./configure -platform linux-g++ -shared -qt-libpng
./configure -platform solaris-g++ -shared -qt-libpng
./configure -platform tru64-g++ -shared -qt-libpng
#
# On aix systems you will need to make the following changes to
# the file mkspecs/aix-g++/qmake.conf:
# remove "/usr/X11R6/include" from QMAKE_INCDIR_X11
# remove "/usr/X11R6/include" from QMAKE_INCDIR_OPENGL
#
make
#
# Install it in the visit directory under the qt directory.
#
mkdir $VISITDIR/qt
mkdir $VISITDIR/qt/2.3.0
mkdir $VISITDIR/qt/2.3.0/$VISITARCH
mkdir $VISITDIR/qt/2.3.0/$VISITARCH/{bin,include,lib}
cp bin/{designer,findtr,moc,qt20fix,qtrename140} $VISITDIR/qt/2.3.0/$VISITARCH/bin
cd include; cp *.h $VISITDIR/qt/2.3.0/$VISITARCH/include
cd ../lib;find . -print | cpio -pvmud $VISITDIR/qt/2.3.0/$VISITARCH/lib
cd ../..
#
# On aix systems you will need to add an additional link to the lib
# directory so that the loader can find the library.
#
# ln -s libqt.so.2.3.0 $VISITDIR/qt/2.3.0/$VISITARCH/lib/libqt.so
#
Silo
=====
......
......@@ -12,6 +12,8 @@
#include <vtkTensorGlyph.h>
#include <vtkVisItPolyDataNormals.h>
#include <avtExtents.h>
#include <BadIndexException.h>
......@@ -30,6 +32,9 @@
// Hank Childs, Wed May 5 14:19:54 PDT 2004
// Added poly data normals.
//
// Eric Brugger, Wed Nov 24 13:04:09 PST 2004
// Added scaleByMagnitude and autoScale.
//
// ****************************************************************************
avtTensorGlyphMapper::avtTensorGlyphMapper(vtkPolyData *g)
......@@ -39,6 +44,8 @@ avtTensorGlyphMapper::avtTensorGlyphMapper(vtkPolyData *g)
colorByMag = true;
scale = 0.2;
scaleByMagnitude = true;
autoScale = true;
tensorFilter = NULL;
normalsFilter = NULL;
nTensorFilters = 0;
......@@ -107,6 +114,9 @@ avtTensorGlyphMapper::~avtTensorGlyphMapper()
// Hank Childs, Wed May 5 14:19:54 PDT 2004
// Added poly data normals.
//
// Eric Brugger, Wed Nov 24 13:04:09 PST 2004
// Added scaleByMagnitude and autoScale.
//
// ****************************************************************************
void
......@@ -119,7 +129,10 @@ avtTensorGlyphMapper::CustomizeMappers(void)
if (tensorFilter[i] != NULL)
{
tensorFilter[i]->SetSource(glyph);
tensorFilter[i]->SetScaling(1);
if (scaleByMagnitude)
tensorFilter[i]->SetScaling(1);
else
tensorFilter[i]->SetScaling(0);
}
if (normalsFilter[i] != NULL)
{
......@@ -283,12 +296,48 @@ avtTensorGlyphMapper::InsertFilters(vtkDataSet *ds, int dom)
// Hank Childs, Fri May 7 07:38:31 PDT 2004
// Reset the default range so the colors update properly.
//
// Eric Brugger, Wed Nov 24 13:04:09 PST 2004
// Added scaleByMagnitude and autoScale.
//
// ****************************************************************************
void
avtTensorGlyphMapper::SetScale(float s)
{
scale = s;
//
// If auto scale is enable, then set the scale based on the spatial
// extents and possibly the data extents.
//
if (autoScale)
{
avtDataset_p input = GetTypedInput();
if (*input != 0)
{
avtDataAttributes &atts=input->GetInfo().GetAttributes();
avtExtents *extents = atts.GetTrueSpatialExtents();
int nDims = extents->GetDimension();
double exts[6];
extents->CopyTo(exts);
double dist = 0.;
int i;
for (i = 0; i < nDims; i++)
{
dist += (exts[2*i+1] - exts[2*i]) * (exts[2*i+1] - exts[2*i]);
}
dist = sqrt(dist);
extents = atts.GetTrueDataExtents();
extents->CopyTo(exts);
if (scaleByMagnitude)
scale = (scale * dist * 0.2) / exts[1];
else
scale = scale * dist * 0.2;
}
}
if (tensorFilter != NULL)
{
for (int i = 0 ; i < nTensorFilters ; i++)
......@@ -304,6 +353,62 @@ avtTensorGlyphMapper::SetScale(float s)
}
// ****************************************************************************
// Method: avtTensorGlyphMapper::SetScaleByMagnitude
//
// Purpose:
// Sets the scale by magnitude mode.
//
// Arguments:
// val The new scale by magnitude mode.
//
// Programmer: Eric Brugger
// Creation: November 24, 2004
//
// ****************************************************************************
void
avtTensorGlyphMapper::SetScaleByMagnitude(bool val)
{
scaleByMagnitude = val;
if (tensorFilter != NULL)
{
for (int i = 0 ; i < nTensorFilters ; i++)
{
if (tensorFilter[i] != NULL)
{
if (scaleByMagnitude)
tensorFilter[i]->SetScaling(1);
else
tensorFilter[i]->SetScaling(0);
}
}
}
}
// ****************************************************************************
// Method: avtTensorGlyphMapper::SetAutoScale
//
// Purpose:
// Sets the auto scale mode.
//
// Arguments:
// val The new auto scale mode.
//
// Programmer: Eric Brugger
// Creation: November 24, 2004
//
// ****************************************************************************
void
avtTensorGlyphMapper::SetAutoScale(bool val)
{
autoScale = val;
}
// ****************************************************************************
// Method: avtTensorGlyphMapper::ColorByMagOn
//
......
......@@ -30,6 +30,9 @@ class vtkVisItPolyDataNormals;
// Hank Childs, Wed May 5 16:23:29 PDT 2004
// Add normals calculation.
//
// Eric Brugger, Wed Nov 24 12:58:22 PST 2004
// Added scaleByMagnitude and autoScale.
//
// ****************************************************************************
class PLOTTER_API avtTensorGlyphMapper : public avtMapper
......@@ -41,6 +44,8 @@ class PLOTTER_API avtTensorGlyphMapper : public avtMapper
void ColorByMagOn(void);
void ColorByMagOff(const unsigned char [3]);
void SetScale(float);
void SetScaleByMagnitude(bool);
void SetAutoScale(bool);
void SetLookupTable(vtkLookupTable *lut);
protected:
......@@ -49,6 +54,8 @@ class PLOTTER_API avtTensorGlyphMapper : public avtMapper
bool colorByMag;
unsigned char glyphColor[3];
float scale;
bool scaleByMagnitude;
bool autoScale;
vtkTensorGlyph **tensorFilter;
vtkVisItPolyDataNormals **normalsFilter;
......
......@@ -12,6 +12,8 @@
#include <vtkVisItGlyph3D.h>
#include <vtkVisItPolyDataNormals.h>
#include <avtExtents.h>
#include <BadIndexException.h>
......@@ -49,6 +51,9 @@
// Kathleen Bonnell, Mon Aug 9 13:54:42 PDT 2004
// Initialize colorByScalar.
//
// Eric Brugger, Tue Nov 23 12:28:20 PST 2004
// Added scaleByMagnitude and autoScale.
//
// Kathleen Bonnell, Wed Dec 22 16:42:35 PST 2004
// Initialize setMin, setMax and limitsMode.
//
......@@ -64,6 +69,8 @@ avtVectorGlyphMapper::avtVectorGlyphMapper(vtkPolyData *g)
colorByMag = true;
colorByScalar = false;
scale = 0.2;
scaleByMagnitude = true;
autoScale = true;
glyphFilter = 0;
normalsFilter = NULL;
nGlyphFilters = 0;
......@@ -147,6 +154,9 @@ avtVectorGlyphMapper::~avtVectorGlyphMapper()
// Kathleen Bonnell, Mon Aug 9 13:54:42 PDT 2004
// Test for flag colorByScalar.
//
// Eric Brugger, Tue Nov 23 12:28:20 PST 2004
// Added scaleByMagnitude.
//
// Kathleen Bonnell, Wed Dec 22 16:42:35 PST 2004
// Added code for setting min and max.
//
......@@ -186,7 +196,10 @@ avtVectorGlyphMapper::CustomizeMappers(void)
if (glyphFilter[i] != NULL)
{
glyphFilter[i]->SetSource(glyph);
glyphFilter[i]->SetScaleModeToScaleByVector();
if (scaleByMagnitude)
glyphFilter[i]->SetScaleModeToScaleByVector();
else
glyphFilter[i]->SetScaleModeToDataScalingOff();
}
if (normalsFilter[i] != NULL)
{
......@@ -439,12 +452,49 @@ avtVectorGlyphMapper::SetLineStyle(_LineStyle ls)
// Programmer: Hank Childs
// Creation: March 23, 2001
//
// Modifications:
// Eric Brugger, Tue Nov 23 12:28:20 PST 2004
// Added scaleByMagnitude and autoScale.
//
// ****************************************************************************
void
avtVectorGlyphMapper::SetScale(float s)
{
scale = s;
//
// If auto scale is enable, then set the scale based on the spatial
// extents and possibly the data extents.
//
if (autoScale)
{
avtDataset_p input = GetTypedInput();
if (*input != 0)
{
avtDataAttributes &atts=input->GetInfo().GetAttributes();
avtExtents *extents = atts.GetTrueSpatialExtents();
int nDims = extents->GetDimension();
double exts[6];
extents->CopyTo(exts);
double dist = 0.;
int i;
for (i = 0; i < nDims; i++)
{
dist += (exts[2*i+1] - exts[2*i]) * (exts[2*i+1] - exts[2*i]);
}
dist = sqrt(dist);
extents = atts.GetTrueDataExtents();
extents->CopyTo(exts);
if (scaleByMagnitude)
scale = (scale * dist * 0.2) / exts[1];
else
scale = scale * dist * 0.2;
}
}
if (glyphFilter != NULL)
{
for (int i = 0 ; i < nGlyphFilters ; i++)
......@@ -458,6 +508,62 @@ avtVectorGlyphMapper::SetScale(float s)
}
// ****************************************************************************
// Method: avtVectorGlyphMapper::SetScaleByMagnitude
//
// Purpose:
// Sets the scale by magnitude mode.
//
// Arguments:
// val The new scale by magnitude mode.
//
// Programmer: Eric Brugger
// Creation: November 23, 2004
//
// ****************************************************************************
void
avtVectorGlyphMapper::SetScaleByMagnitude(bool val)
{
scaleByMagnitude = val;
if (glyphFilter != NULL)
{
for (int i = 0 ; i < nGlyphFilters ; i++)
{
if (glyphFilter[i] != NULL)
{
if (scaleByMagnitude)
glyphFilter[i]->SetScaleModeToScaleByVector();
else
glyphFilter[i]->SetScaleModeToDataScalingOff();
}
}
}
}
// ****************************************************************************
// Method: avtVectorGlyphMapper::SetAutoScale
//
// Purpose:
// Sets the auto scale mode.
//
// Arguments:
// val The new auto scale mode.
//
// Programmer: Eric Brugger
// Creation: November 23, 2004
//
// ****************************************************************************
void
avtVectorGlyphMapper::SetAutoScale(bool val)
{
autoScale = val;
}
// ****************************************************************************
// Method: avtVectorGlyphMapper::ColorByMagOn
//
......
......@@ -57,6 +57,9 @@ class vtkVisItPolyDataNormals;
// Kathleen Bonnell, Tue Oct 12 16:18:37 PDT 2004
// Use VisIt's version of vtkGlyph3d.
//
// Eric Brugger, Tue Nov 23 12:26:05 PST 2004
// Added scaleByMagnitude and autoScale.
//
// Kathleen Bonnell, Wed Dec 22 16:42:35 PST 2004
// Added methods and vars to support setting of limits for coloring.
//
......@@ -74,6 +77,8 @@ class PLOTTER_API avtVectorGlyphMapper : public avtMapper
void ColorByScalarOn(const std::string &);
void ColorByMagOff(const unsigned char [3]);
void SetScale(float);
void SetScaleByMagnitude(bool);
void SetAutoScale(bool);
void SetLookupTable(vtkLookupTable *lut);
// methods for setting limits for coloring
......@@ -96,6 +101,8 @@ class PLOTTER_API avtVectorGlyphMapper : public avtMapper
std::string scalarName;
unsigned char glyphColor[3];
float scale;
bool scaleByMagnitude;
bool autoScale;
float min, max;
bool setMin, setMax;
......
......@@ -7,33 +7,33 @@ VISITHOME=/usr/gapps/visit
## If MESA is not set, use VisIt's mesa.
##
if test -z "$MESA"; then
MESA=$VISITHOME/mesa/current/linux
MESA=$VISITHOME/mesa/current/linux_rhel3_gcc_3.2.3
fi
##
## If VTK is not set, use VisIt's vtk.
##
if test -z "$VTK"; then
VTK=$VISITHOME/vtk/2003.10.28/redhat_7
VTK=$VISITHOME/vtk/2003.10.28/linux_rhel3_gcc_3.2.3
fi
##
## If QT is not set, use VisIt's Qt.
##
if test -z "$QT_BIN"; then
QT_BIN=$VISITHOME/qt/3.3.2/linux_redhat_gcc_2.96/bin
QT_BIN=$VISITHOME/qt/3.3.2/linux_rhel3_gcc_3.2.3/bin
fi
if test -z "$QT_INCLUDE"; then
QT_INCLUDE=$VISITHOME/qt/3.3.2/linux_redhat_gcc_2.96/include
QT_INCLUDE=$VISITHOME/qt/3.3.2/linux_rhel3_gcc_3.2.3/include
fi
if test -z "$QT_LIB"; then
QT_LIB=$VISITHOME/qt/3.3.2/linux_redhat_gcc_2.96/lib
QT_LIB=$VISITHOME/qt/3.3.2/linux_rhel3_gcc_3.2.3/lib
fi
##
## Use VisIt's Python.
##
PYDIR=$VISITHOME/python/redhat_6
PYDIR=$VISITHOME/python/linux_rhel3_gcc_3.2.3
PYVERSION=python2.1
##
......@@ -44,9 +44,9 @@ CXXFLAGS="-Wno-deprecated $CXXFLAGS"
##
## Add parallel arguments.
##
LDFLAGS="-L/misc/gapps/mpich/1.2.4/Linux/serial/64/debug/lib $LDFLAGS"
CPPFLAGS="-I/misc/gapps/mpich/1.2.4/Linux/serial/64/debug/include $CPPFLAGS"
MPI_LIBS="-lmpich"
#LDFLAGS="-L/misc/gapps/mpich/1.2.4/Linux/serial/64/debug/lib $LDFLAGS"
#CPPFLAGS="-I/misc/gapps/mpich/1.2.4/Linux/serial/64/debug/include $CPPFLAGS"
#MPI_LIBS="-lmpich"
##
## Database reader plugin support libraries
......@@ -56,36 +56,36 @@ MPI_LIBS="-lmpich"
##
## Boxlib
##
DEFAULT_BOXLIB2D_INCLUDE=/usr/gapps/visit/boxlib/redhat_7/include/2D
DEFAULT_BOXLIB2D_LIBS=/usr/gapps/visit/boxlib/redhat_7/lib
DEFAULT_BOXLIB3D_INCLUDE=/usr/gapps/visit/boxlib/redhat_7/include/3D
DEFAULT_BOXLIB3D_LIBS=/usr/gapps/visit/boxlib/redhat_7/lib
#DEFAULT_BOXLIB2D_INCLUDE=/usr/gapps/visit/boxlib/redhat_7/include/2D
#DEFAULT_BOXLIB2D_LIBS=/usr/gapps/visit/boxlib/redhat_7/lib
#DEFAULT_BOXLIB3D_INCLUDE=/usr/gapps/visit/boxlib/redhat_7/include/3D
#DEFAULT_BOXLIB3D_LIBS=/usr/gapps/visit/boxlib/redhat_7/lib
##
## Exodus
##
DEFAULT_EXODUS_INCLUDES=$VISITHOME/exodus/linux/inc
DEFAULT_EXODUS_LIBRARY=$VISITHOME/exodus/linux/lib