Commit b5d90150 authored by hrchilds's avatar hrchilds
Browse files

Update from September 1, 2004

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@313 18c085ea-50e0-402c-830e-de6fd14e8384
parent 52ec55e6
......@@ -30,6 +30,16 @@ you must use the October 28, 2003 distribution provided. The version of Qt
used to build VisIt must be greater than or equal to 2.3.0. VisIt is also
compatible with Qt version 3.
VisIt also contains many database readers which are also built on external
libraries. If you want to make use of these readers you will also need to
build and install those libraries prior to building VisIt.
Library Version Description For More information
======= ======= =========== ====================
Mili 1.06 File I/O library (none)
Building VisIt
===============
......@@ -610,6 +620,42 @@ cp libpython2.1.so $VISITDIR/python/$VISITARCH/lib/python2.1/config/libpython2.1
cd ..
Mili (Optional)
================
Mili uses GNU's autoconf system to provide platform independence when
building Mili in a UNIX environment. It requires both a C and Fortran
compiler. Its compiler flags are built directly into the configure script
based on platform. In order to change the flags you must edit the configure
script.
#
# Build Mili.
#
gunzip mili.tar.gz
tar xf mili.tar
cd Mili
On irix systems, if you want to build a 64 bit version will need to override
the default compiler options. You will need to replace all occurances of
"-n32" with "-64" in the configure script.
./configure
make
#
# Install it in the visit directory under the mili directory.
#
mkdir $VISITDIR/mili
mkdir $VISITDIR/mili/1.06
mkdir $VISITDIR/mili/1.06/$VISITARCH
cp src/mili.h $VISITDIR/mili/1.06/$VISITARCH
cp src/mili_enum.h $VISITDIR/mili/1.06/$VISITARCH
cp src/libmili.a $VISITDIR/mili/1.06/$VISITARCH
cp src/libgahl.a $VISITDIR/mili/1.06/$VISITARCH
cd ..
VisIt
======
......
......@@ -23,9 +23,67 @@ using std::vector;
static MPI_Op AVT_MPI_MINMAX = MPI_OP_NULL;
#endif
// Variables to hold process size information
static int par_rank = 0, par_size = 1;
// A buffer to temporarily receive broadcast data before permanent storage
static vector<char> broadcastBuffer(1000);
// ****************************************************************************
// Function: PAR_Exit
//
// Purpose:
// Exits the program gracefully.
//
// Programmer: Brad Whitlock
// Creation: Wed Jul 12 16:02:58 PST 2000
//
// Modifications:
// Eric Brugger, Tue Aug 31 10:27:20 PDT 2004
// Made the mpi coding conditional on PARALLEL.
//
// ****************************************************************************
void
PAR_Exit(void)
{
#ifdef PARALLEL
MPI_Finalize();
#endif
}
// ****************************************************************************
// Function: PAR_Init
//
// Purpose:
// Initializes parallel state information.
//
// Programmer: Brad Whitlock
// Creation: Wed Jul 12 16:03:46 PST 2000
//
// Modifications:
// Eric Brugger, Tue Aug 31 10:27:20 PDT 2004
// Made the mpi coding conditional on PARALLEL. Removed the call to
// PAR_CreateTypes.
//
// ****************************************************************************
void
PAR_Init (int &argc, char **&argv)
{
#ifdef PARALLEL
MPI_Init (&argc, &argv);
//
// Find the current process rank and the size of the process pool.
//
MPI_Comm_rank (MPI_COMM_WORLD, &par_rank);
MPI_Comm_size (MPI_COMM_WORLD, &par_size);
#endif
}
// ****************************************************************************
// Function: PAR_Rank
//
......@@ -35,18 +93,16 @@ static vector<char> broadcastBuffer(1000);
// Programmer: Hank Childs
// Creation: November 19, 2002
//
// Modifications:
// Eric Brugger, Tue Aug 31 10:27:20 PDT 2004
// Modified the routine to return the cached rank.
//
// ****************************************************************************
int
PAR_Rank(void)
{
int rank = 0;
#ifdef PARALLEL
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
#endif
return rank;
return par_rank;
}
......@@ -59,20 +115,37 @@ PAR_Rank(void)
// Programmer: Hank Childs
// Creation: November 19, 2002
//
// Modifications:
// Eric Brugger, Tue Aug 31 10:27:20 PDT 2004
// Modified the routine to return the cached size.
//
// ****************************************************************************
int
PAR_Size(void)
{
int nProcs = 1;
return par_size;
}
#ifdef PARALLEL
MPI_Comm_size(MPI_COMM_WORLD, &nProcs);
#endif
return nProcs;
// ****************************************************************************
// Function: PAR_UIProcess
//
// Purpose:
// Returns true if the process's rank is 0.
//
// Programmer: Brad Whitlock
// Creation: Thu Jul 13 11:47:10 PDT 2000
//
// ****************************************************************************
bool
PAR_UIProcess(void)
{
return (par_rank == 0);
}
// ****************************************************************************
// Function: MinMaxOp
//
......
......@@ -14,8 +14,11 @@ class AttributeGroup;
PIPELINE_API void Barrier(void);
PIPELINE_API bool Collect(float *, int);
PIPELINE_API bool Collect(int *, int);
PIPELINE_API void PAR_Exit(void);
PIPELINE_API void PAR_Init(int &argc, char **&argv);
PIPELINE_API int PAR_Rank(void);
PIPELINE_API int PAR_Size(void);
PIPELINE_API bool PAR_UIProcess(void);
PIPELINE_API void SumIntAcrossAllProcessors(int&);
PIPELINE_API void SumFloatAcrossAllProcessors(float&);
PIPELINE_API void SumFloatArrayAcrossAllProcessors(float *, float *, int);
......
......@@ -60,6 +60,11 @@ MPI_LIBS="-lmpi"
DEFAULT_HDF5_INCLUDE=/usr/local/hdf5/hdf5-1.6.0/serial/64/include
DEFAULT_HDF5_LIB=/usr/local/hdf5/hdf5-1.6.0/serial/64/lib
##
## Mili
##
MILI_DIR=/usr/gapps/visit/mili/1.06/irix64_cc_7.3.1.2_64
##
## Silo
##
......
......@@ -60,6 +60,11 @@ MPI_LIBS="-lmpi -lmpi++"
DEFAULT_HDF5_INCLUDE=/usr/local/hdf5/hdf5-1.6.0/serial/64/include
DEFAULT_HDF5_LIB=/usr/local/hdf5/hdf5-1.6.0/serial/64/lib
##
## Mili
##
MILI_DIR=/usr/gapps/visit/mili/1.06/irix64_cc_7.3.1.2_64
##
## Silo
##
......
......@@ -60,6 +60,11 @@ MPI_LIBS="-lmpi"
DEFAULT_HDF5_INCLUDE=/usr/local/hdf5/hdf5-1.6.0/serial/64/include
DEFAULT_HDF5_LIB=/usr/local/hdf5/hdf5-1.6.0/serial/64/lib
##
## Mili
##
MILI_DIR=/usr/gapps/visit/mili/1.06/irix64_cc_7.3.1.2_64
##
## Silo
##
......
......@@ -5,6 +5,7 @@
#include <avtDuneFileFormat.h>
#include <string>
using std::getline;
#include <vtkFloatArray.h>
#include <vtkRectilinearGrid.h>
......
......@@ -6,6 +6,7 @@
#include <vector>
#include <string>
using std::getline;
#include <visitstream.h>
#include <set>
......
......@@ -139,6 +139,10 @@ Engine *Engine::Instance()
// Mark C. Miller, Mon Jul 12 19:46:32 PDT 2004
// Wrapped call to set_new_handler with WIN32 conditional compilation
//
// Eric Brugger, Tue Aug 31 10:45:57 PDT 2004
// Added a call to PAR_CreateTypes since it is no longer called from
// PAR_Init.
//
// ****************************************************************************
void
Engine::Initialize(int *argc, char **argv[])
......@@ -146,10 +150,17 @@ Engine::Initialize(int *argc, char **argv[])
#ifdef PARALLEL
xfer = new MPIXfer;
//
// Initialize for MPI and get the process rank & size.
//
PAR_Init(*argc, *argv);
//
// Create the derived types and operators for sending messages
// and collective operations.
//
PAR_CreateTypes();
//
// Initialize error logging
//
......
......@@ -56,6 +56,7 @@
#include <PlotPluginInfo.h>
#ifdef PARALLEL
#include <mpi.h>
#include <avtParallel.h>
#include <parallel.h>
#endif
#include <TimingsManager.h>
......
......@@ -5,6 +5,7 @@
#include <LoadBalancer.h>
#ifdef PARALLEL
#include <avtParallel.h>
#include <parallel.h>
#endif
......
#ifdef PARALLEL
#include <MPIXfer.h>
#include <avtParallel.h>
#include <parallel.h>
#include <BufferConnection.h>
#include <AttributeSubject.h>
......
......@@ -2,128 +2,8 @@
#include <unistd.h>
#include <parallel.h>
// Variables to hold process size inforamyino
static int par_rank = 0, par_size = 1;
MPI_Datatype PAR_STATEBUFFER;
// *******************************************************************
// Function: PAR_Rank
//
// Purpose:
// Returns the process's rank within the process group.
//
// Notes:
//
// Programmer: Brad Whitlock
// Creation: Wed Jul 12 16:05:14 PST 2000
//
// Modifications:
//
// *******************************************************************
int
PAR_Rank()
{
return par_rank;
}
// *******************************************************************
// Function: PAR_UIProcess
//
// Purpose:
// Returns true if the process's rank is 0.
//
// Notes:
//
// Programmer: Brad Whitlock
// Creation: Thu Jul 13 11:47:10 PDT 2000
//
// Modifications:
//
// *******************************************************************
bool
PAR_UIProcess()
{
return (par_rank == 0);
}
// *******************************************************************
// Function: PAR_Size
//
// Purpose:
// Returns the size of the process group.
//
// Notes:
//
// Programmer: Brad Whitlock
// Creation: Wed Jul 12 16:04:41 PST 2000
//
// Modifications:
//
// *******************************************************************
int
PAR_Size()
{
return par_size;
}
// *******************************************************************
// Function: PAR_Init
//
// Purpose:
// Initializes parallel state information.
//
// Notes:
//
// Programmer: Brad Whitlock
// Creation: Wed Jul 12 16:03:46 PST 2000
//
// Modifications:
//
// *******************************************************************
void
PAR_Init (int &argc, char **&argv)
{
MPI_Init (&argc, &argv);
//
// Find the current process rank and the size of the process pool.
//
MPI_Comm_rank (MPI_COMM_WORLD, &par_rank);
MPI_Comm_size (MPI_COMM_WORLD, &par_size);
//
// Create the derived types and operators for sending messages
// and collective operations.
//
PAR_CreateTypes();
}
// *******************************************************************
// Function: PAR_Exit
//
// Purpose:
// Exits the program gracefully.
//
// Notes:
//
// Programmer: Brad Whitlock
// Creation: Wed Jul 12 16:02:58 PST 2000
//
// Modifications:
//
// *******************************************************************
void
PAR_Exit()
{
MPI_Finalize();
}
// *******************************************************************
// Function: PAR_CreateTypes
//
......
......@@ -17,10 +17,5 @@ extern MPI_Datatype PAR_STATEBUFFER;
// Parallel Prototypes
void PAR_CreateTypes();
void PAR_Exit();
void PAR_Init(int &argc, char **&argv);
int PAR_Rank();
int PAR_Size();
bool PAR_UIProcess();
#endif
......@@ -976,25 +976,18 @@ ViewerWindow::RecenterView()
// Eric Brugger, Wed Aug 20 11:15:07 PDT 2003
// I added a curve view.
//
// Eric Brugger, Wed Sep 1 09:20:09 PDT 2004
// Modified the routine to reset the view for all the view modes,
// instead of just the current mode.
//
// ****************************************************************************
void
ViewerWindow::ResetView()
{
switch (visWindow->GetWindowMode())
{
case WINMODE_CURVE:
ResetViewCurve();
break;
case WINMODE_2D:
ResetView2d();
break;
case WINMODE_3D:
ResetView3d();
break;
default:
break;
}
ResetViewCurve();
ResetView2d();
ResetView3d();
}
// ****************************************************************************
......
......@@ -3,8 +3,8 @@
Program: Visualization Toolkit
Module: $RCSfile: vtkCamera.cxx,v $
Language: C++
Date: $Date: 2002/11/19 13:59:39 $
Version: $Revision: 1.104 $
Date: $Date: 2003/05/12 18:50:26 $
Version: $Revision: 1.105 $
Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
......@@ -25,7 +25,7 @@
#include <math.h>
vtkCxxRevisionMacro(vtkCamera, "$Revision: 1.104 $");
vtkCxxRevisionMacro(vtkCamera, "$Revision: 1.105 $");
//----------------------------------------------------------------------------
// Needed when we don't use the vtkStandardNewMacro.
......@@ -145,7 +145,7 @@ void vtkCamera::SetPosition(double x, double y, double z)
this->Modified();
}
void vtkCamera::SetUserTransform(vtkLinearTransform *transform)
void vtkCamera::SetUserTransform(vtkHomogeneousTransform *transform)
{
if (transform == this->UserTransform)
{
......
......@@ -3,8 +3,8 @@
Program: Visualization Toolkit
Module: $RCSfile: vtkCamera.h,v $
Language: C++
Date: $Date: 2002/11/21 16:16:39 $
Version: $Revision: 1.87 $
Date: $Date: 2003/05/12 18:50:26 $
Version: $Revision: 1.90 $
Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
......@@ -35,7 +35,7 @@ class vtkMatrix4x4;
class vtkPerspectiveTransform;
class vtkRenderer;
class vtkTransform;
class vtkLinearTransform;
class vtkHomogeneousTransform;
class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
{
......@@ -60,7 +60,9 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
vtkGetVector3Macro(Position,double);
void GetPosition(float a[3]) {
double tmp[3]; this->GetPosition(tmp);
a[0] = tmp[0]; a[1] = tmp[1]; a[2] = tmp[2]; };
a[0] = static_cast<float>(tmp[0]);
a[1] = static_cast<float>(tmp[1]);
a[2] = static_cast<float>(tmp[2]); };
// Description:
// Set/Get the focal of the camera in world coordinates.
......@@ -73,7 +75,9 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
vtkGetVector3Macro(FocalPoint,double);
void GetFocalPoint(float a[3]) {
double tmp[3]; this->GetFocalPoint(tmp);
a[0] = tmp[0]; a[1] = tmp[1]; a[2] = tmp[2]; };
a[0] = static_cast<float>(tmp[0]);
a[1] = static_cast<float>(tmp[1]);
a[2] = static_cast<float>(tmp[2]); };
// Description:
// Set/Get the view up direction for the camera. The default
......@@ -86,7 +90,9 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
vtkGetVector3Macro(ViewUp,double);
void GetViewUp(float a[3]) {
double tmp[3]; this->GetViewUp(tmp);
a[0] = tmp[0]; a[1] = tmp[1]; a[2] = tmp[2]; };
a[0] = static_cast<float>(tmp[0]);
a[1] = static_cast<float>(tmp[1]);
a[2] = static_cast<float>(tmp[2]); };
// Description:
// Recompute the ViewUp vector to force it to be perpendicular to
......@@ -107,7 +113,9 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
vtkGetVector3Macro(DirectionOfProjection,double);
void GetDirectionOfProjection(float a[3]) {
double tmp[3]; this->GetDirectionOfProjection(tmp);
a[0] = tmp[0]; a[1] = tmp[1]; a[2] = tmp[2]; };
a[0] = static_cast<float>(tmp[0]);
a[1] = static_cast<float>(tmp[1]);
a[2] = static_cast<float>(tmp[2]); };
// Description:
// Move the position of the camera along the direction of projection. Moving
......@@ -206,7 +214,8 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
vtkGetVector2Macro(ClippingRange,double);
void GetClippingRange(float a[2]) {
double tmp[2]; this->GetClippingRange(tmp);
a[0] = tmp[0]; a[1] = tmp[1]; };
a[0] = static_cast<float>(tmp[0]);
a[1] = static_cast<float>(tmp[1]); };
// Description:
// Set the distance between clipping planes. This method adjusts the
......@@ -249,7 +258,9 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
vtkGetVector3Macro(ViewPlaneNormal,double);
void GetViewPlaneNormal(float a[3]) {
double tmp[3]; this->GetViewPlaneNormal(tmp);
a[0] = tmp[0]; a[1] = tmp[1]; a[2] = tmp[2]; };
a[0] = static_cast<float>(tmp[0]);
a[1] = static_cast<float>(tmp[1]);
a[2] = static_cast<float>(tmp[2]); };
// Description:
......@@ -277,7 +288,7 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
// Description:
// Return the matrix of the view transform.
vtkMatrix4x4 *GetViewTransformMatrix();
virtual vtkMatrix4x4 *GetViewTransformMatrix();
// Description:
// Return the perspective transform matrix, which converts from camera
......@@ -285,7 +296,7 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
// width/height for the viewport, and the nearz and farz are the
// Z-buffer values that map to the near and far clipping planes.
// The viewport coordinates are in the range ([-1,+1],[-1,+1],[nearz,farz]).
vtkMatrix4x4 *GetPerspectiveTransformMatrix(double aspect,
virtual vtkMatrix4x4 *GetPerspectiveTransformMatrix(double aspect,
double nearz,
double farz);
......@@ -296,7 +307,7 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
// width/height for the viewport, and the nearz and farz are the
// Z-buffer values that map to the near and far clipping planes.
// The viewport coordinates are in the range ([-1,+1],[-1,+1],[nearz,farz]).
vtkMatrix4x4 *GetCompositePerspectiveTransformMatrix(double aspect,
virtual vtkMatrix4x4 *GetCompositePerspectiveTransformMatrix(double aspect,
double nearz,
double farz);
......@@ -304,8 +315,8 @@ class VTK_RENDERING_EXPORT vtkCamera : public vtkObject
// In addition to the instance variables such as position and orientation,
// you can add an additional transformation for your own use. This
// transformation is concatenated to the camera's PerspectiveTransform
void SetUserTransform(vtkLinearTransform *transform);