Commit 63beaf00 authored by hrchilds's avatar hrchilds

Update from March 13, 2006

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@635 18c085ea-50e0-402c-830e-de6fd14e8384
parent b53bd4e3
......@@ -26,6 +26,7 @@ tidalwave=true
white=true
pu=true
lilac=true
gauss=true
dist=undefined
......@@ -45,6 +46,7 @@ do
white=false
pu=false
lilac=false
gauss=false
shift
;;
-hitit)
......@@ -103,6 +105,14 @@ do
lilac=true
shift
;;
-gauss)
gauss=false
shift
;;
+gauss)
gauss=true
shift
;;
-d)
dist=$2
shift 2
......@@ -469,10 +479,60 @@ then
fi
fi
#
# Build on gauss.
#
rm -f gauss
cat <<EOF > gauss
#!/bin/sh
if test ! -d /usr/tmp/$user ; then
mkdir /usr/tmp/$user
fi
if test ! -d /usr/tmp/$user/gauss ; then
mkdir /usr/tmp/$user/gauss
fi
rm -rf /usr/tmp/$user/gauss/visitbuild
mkdir /usr/tmp/$user/gauss/visitbuild
mv gauss_$dist.tar.gz /usr/tmp/$user/gauss/visitbuild/$dist.tar.gz
cd /usr/tmp/$user/gauss/visitbuild
gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1
cd $dist
ver=\`cat VERSION\`
ver2=\`echo \$ver | tr "." "_"\`
env CXXFLAGS=-O2 ./configure --enable-parallel >> ../buildlog 2>&1
make -j 3 >> ../buildlog 2>&1
clearcase_bin/visit-bin-dist >> ../buildlog 2>&1
mv visit\$ver2.linux-x86_64.tar.gz ..
cd ..
rm -f resultlog
echo " build of visit on gauss" > resultlog 2>&1
echo " -------------------------" >> resultlog 2>&1
echo "" >> resultlog 2>&1
ls -l >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "number of database plugins = "\`ls $dist/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls $dist/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls $dist/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "The database plugins:" >> resultlog 2>&1
ls $dist/plugins/databases/libI* | sed "s/$dist\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF
if [ $gauss = true ]
then
if [ $test = no ]
then
scp gauss gauss2:gauss_buildit
scp $dist.tar.gz gauss2:gauss_$dist.tar.gz
ssh gauss2 "chmod 750 gauss_buildit;./gauss_buildit" &
fi
fi
#
# Clean up.
#
if [ $test = no ]
then
rm -f hitit sunset sc tidalwave white pu lilac
rm -f hitit sunset sc tidalwave white pu lilac gauss
fi
......@@ -49,7 +49,6 @@ esac
#
# Parse the execute line, providing default values for error checking.
#
kickit=true
hoth=true
sunspot=true
quad=true
......@@ -58,7 +57,6 @@ berg=true
up=true
pengra=true
thunder=true
gauss=true
dist=undefined
......@@ -71,7 +69,6 @@ for abc
do
case $1 in
-none)
kickit=false
hoth=false
sunspot=false
quad=false
......@@ -80,15 +77,6 @@ do
up=false
pengra=false
thunder=false
gauss=false
shift
;;
-kickit)
kickit=false
shift
;;
+kickit)
kickit=true
shift
;;
-hoth)
......@@ -155,14 +143,6 @@ do
thunder=true
shift
;;
-gauss)
gauss=false
shift
;;
+gauss)
gauss=true
shift
;;
-d)
dist=$2
shift 2
......@@ -189,56 +169,6 @@ then
exit
fi
#
# Build on kickit.
#
rm -f kickit
cat <<EOF > kickit
#!/bin/sh
if test ! -e /var/tmp/$user ; then
mkdir /var/tmp/$user
fi
if test ! -e /var/tmp/$user/kickit ; then
mkdir /var/tmp/$user/kickit
fi
rm -rf /var/tmp/$user/kickit/visitbuild
mkdir /var/tmp/$user/kickit/visitbuild
mv kickit_$dist.tar.gz /var/tmp/$user/kickit/visitbuild/$dist.tar.gz
cd /var/tmp/$user/kickit/visitbuild
gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1
cd $dist
ver=\`cat VERSION\`
ver2=\`echo \$ver | tr "." "_"\`
env CXXFLAGS=-O2 ./configure >> ../buildlog 2>&1
make -j 4 >> ../buildlog 2>&1
clearcase_bin/visit-bin-dist >> ../buildlog 2>&1
mv visit\$ver2.linux.tar.gz ..
cd ..
rm -f resultlog
echo " build of visit on kickit" > resultlog 2>&1
echo " --------------------------" >> resultlog 2>&1
echo "" >> resultlog 2>&1
ls -l >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "number of database plugins = "\`ls $dist/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls $dist/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls $dist/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "The database plugins:" >> resultlog 2>&1
ls $dist/plugins/databases/libI* | sed "s/$dist\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF
if [ $kickit = true ]
then
if [ $test = no ]
then
scp kickit kickit:kickit_buildit
scp $dist.tar.gz kickit:kickit_$dist.tar.gz
ssh kickit "chmod 750 kickit_buildit;./kickit_buildit" &
fi
fi
#
# Build on hoth.
#
......@@ -639,60 +569,10 @@ then
fi
fi
#
# Build on gauss.
#
rm -f gauss
cat <<EOF > gauss
#!/bin/sh
if test ! -d /usr/tmp/$user ; then
mkdir /usr/tmp/$user
fi
if test ! -d /usr/tmp/$user/gauss ; then
mkdir /usr/tmp/$user/gauss
fi
rm -rf /usr/tmp/$user/gauss/visitbuild
mkdir /usr/tmp/$user/gauss/visitbuild
mv gauss_$dist.tar.gz /usr/tmp/$user/gauss/visitbuild/$dist.tar.gz
cd /usr/tmp/$user/gauss/visitbuild
gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1
cd $dist
ver=\`cat VERSION\`
ver2=\`echo \$ver | tr "." "_"\`
env CXXFLAGS=-O2 ./configure --enable-parallel >> ../buildlog 2>&1
make -j 3 >> ../buildlog 2>&1
clearcase_bin/visit-bin-dist >> ../buildlog 2>&1
mv visit\$ver2.linux-x86_64.tar.gz ..
cd ..
rm -f resultlog
echo " build of visit on gauss" > resultlog 2>&1
echo " -------------------------" >> resultlog 2>&1
echo "" >> resultlog 2>&1
ls -l >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "number of database plugins = "\`ls $dist/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls $dist/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls $dist/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "The database plugins:" >> resultlog 2>&1
ls $dist/plugins/databases/libI* | sed "s/$dist\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF
if [ $gauss = true ]
then
if [ $test = no ]
then
scp gauss gauss2:gauss_buildit
scp $dist.tar.gz gauss2:gauss_$dist.tar.gz
ssh gauss2 "chmod 750 gauss_buildit;./gauss_buildit" &
fi
fi
#
# Clean up.
#
if [ $test = no ]
then
rm -f kickit hoth sunspot quad gps berg up pengra thunder gauss
rm -f hoth sunspot quad gps berg up pengra thunder
fi
......@@ -30,6 +30,7 @@ tidalwave=true
white=true
pu=true
lilac=true
gauss=true
ver=undefined
verflag=-private
......@@ -50,6 +51,7 @@ do
white=false
pu=false
lilac=false
gauss=false
shift
;;
+bdiv)
......@@ -121,6 +123,14 @@ do
lilac=true
shift
;;
-gauss)
gauss=false
shift
;;
+gauss)
gauss=true
shift
;;
-v)
ver=$2
shift 2
......@@ -441,10 +451,46 @@ then
ssh sc1 "chmod 750 lc_install;./lc_install"
fi
# Install on gauss.
#
rm -f gauss
cat <<EOF > gauss
#!/bin/sh
./visit-install $verflag -c open -g visit -b bdivp -gw -l $ver linux-x86_64 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo " install of visit on gauss" > resultlog 2>&1
echo " ---------------------------" >> resultlog 2>&1
echo "" >> resultlog 2>&1
df -k /usr/gapps/visit >> resultlog 2>&1
echo "" >> resultlog 2>&1
ls -l /usr/gapps/visit/$ver/linux-x86_64/bin >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver/linux-x86_64/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver/linux-x86_64/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver/linux-x86_64/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "The database plugins:" >> resultlog 2>&1
ls /usr/gapps/visit/$ver/linux-x86_64/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver\/linux-x86_64\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF
if [ $gauss = true ]
then
if [ $test = no ]
then
scp gauss2:/usr/tmp/$user/gauss/visitbuild/visit$ver2.linux-x86_64.tar.gz .
scp visit$ver2.linux-x86_64.tar.gz gps15:
scp visit-install gps15:
scp gauss gps15:gauss_install
ssh gps15 "chmod 750 gauss_install;./gauss_install"
fi
fi
#
# Clean up.
#
if [ $test = no ]
then
rm -f bdiv hitit sunset lc sc tidalwave white pu lilac
rm -f bdiv hitit sunset lc sc tidalwave white pu lilac gauss
fi
......@@ -66,7 +66,6 @@ berg=true
up=true
pengra=true
thunder=true
gauss=true
ver=undefined
verflag=-private
......@@ -88,7 +87,6 @@ do
up=false
pengra=false
thunder=false
gauss=false
shift
;;
-hoth)
......@@ -155,14 +153,6 @@ do
thunder=true
shift
;;
-gauss)
gauss=false
shift
;;
+gauss)
gauss=true
shift
;;
-v)
ver=$2
shift 2
......@@ -203,11 +193,6 @@ fi
ver2=`echo $ver | tr "." "_"`
ver=`echo $ver2 | tr "_" "."`
#
# Copy visit from kickit.
#
scp kickit:/var/tmp/$user/kickit/visitbuild/visit$ver2.linux.tar.gz visit$ver2.linux_rh71.tar.gz
#
# Install on hoth.
#
......@@ -497,46 +482,10 @@ then
fi
fi
#
# Install on gauss.
#
rm -f gauss
cat <<EOF > gauss
#!/bin/sh
./visit-install $verflag -c open -g visit -b bdivp -gw -l $ver linux-x86_64 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo " install of visit on gauss" > resultlog 2>&1
echo " ---------------------------" >> resultlog 2>&1
echo "" >> resultlog 2>&1
df -k /usr/gapps/visit >> resultlog 2>&1
echo "" >> resultlog 2>&1
ls -l /usr/gapps/visit/$ver/linux-x86_64/bin >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver/linux-x86_64/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver/linux-x86_64/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver/linux-x86_64/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo "" >> resultlog 2>&1
echo "The database plugins:" >> resultlog 2>&1
ls /usr/gapps/visit/$ver/linux-x86_64/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver\/linux-x86_64\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF
if [ $gauss = true ]
then
if [ $test = no ]
then
scp gauss2:/usr/tmp/$user/gauss/visitbuild/visit$ver2.linux-x86_64.tar.gz .
scp visit$ver2.linux-x86_64.tar.gz gps15:
scp visit-install gps15:
scp gauss gps15:gauss_install
ssh gps15 "chmod 750 gauss_install;./gauss_install"
fi
fi
#
# Clean up.
#
if [ $test = no ]
then
rm -f hoth sunspot quad gps berg up pengra thunder gauss
rm -f hoth sunspot quad gps berg up pengra thunder
fi
......@@ -1089,12 +1089,21 @@ ColorTableAttributes::GetColorControlPoints(const std::string &name) const
// Brad Whitlock, Mon Nov 25 12:00:52 PDT 2002
// I added code to sort the color table using a map.
//
// Brad Whitlock, Mon Mar 13 17:14:55 PST 2006
// Make sure that a pre-existing color table with the same name is removed
// before adding the new color table.
//
// ****************************************************************************
void
ColorTableAttributes::AddColorTable(const std::string &name,
const ColorControlPointList &cpts)
{
// Remove the color table if it already exists in the list.
int index = GetColorTableIndex(name);
if(index != -1)
RemoveColorTable(index);
// Append the color table to the list.
names.push_back(name);
AddColorControlPointList(cpts);
......
......@@ -132,12 +132,21 @@ Definition:
// Brad Whitlock, Mon Nov 25 12:00:52 PDT 2002
// I added code to sort the color table using a map.
//
// Brad Whitlock, Mon Mar 13 17:14:55 PST 2006
// Make sure that a pre-existing color table with the same name is removed
// before adding the new color table.
//
// ****************************************************************************
void
ColorTableAttributes::AddColorTable(const std::string &name,
const ColorControlPointList &cpts)
{
// Remove the color table if it already exists in the list.
int index = GetColorTableIndex(name);
if(index != -1)
RemoveColorTable(index);
// Append the color table to the list.
names.push_back(name);
AddColorControlPointList(cpts);
......
......@@ -26,12 +26,31 @@
// Akira Haddox, Thu Jul 3 13:58:11 PDT 2003
// Added initialization of guideLine data.
//
// Brad Whitlock, Mon Mar 13 12:11:01 PDT 2006
// Added different initialization for Apple so all lines can be drawn
// at once.
//
// ****************************************************************************
Zoom2D::Zoom2D(VisWindowInteractorProxy &v) : ZoomInteractor(v)
{
guideLines = vtkPolyData::New();
#if defined(__APPLE__)
vtkPoints *pts = vtkPoints::New();
pts->SetNumberOfPoints(12);
guideLines->SetPoints(pts);
pts->Delete();
vtkCellArray *lines = vtkCellArray::New();
vtkIdType ids[8][2] = {
{0, 1}, {2,3}, {4,5}, {6,7}, {8,1}, {5,9}, {10,2}, {6,11}
};
for(int i = 0; i < 8; ++i)
lines->InsertNextCell(2, ids[i]);
guideLines->SetLines(lines);
lines->Delete();
#else
vtkPoints *pts = vtkPoints::New();
pts->SetNumberOfPoints(2);
guideLines->SetPoints(pts);
......@@ -42,7 +61,7 @@ Zoom2D::Zoom2D(VisWindowInteractorProxy &v) : ZoomInteractor(v)
lines->InsertNextCell(2, ids);
guideLines->SetLines(lines);
lines->Delete();
#endif
guideLinesMapper = vtkDashedXorGridMapper2D::New();
guideLinesMapper->SetInput(guideLines);
guideLinesMapper->SetDots(2, 3);
......@@ -243,6 +262,9 @@ Zoom2D::EndMiddleButtonAction()
// control-key now determines zoom/unzoom, shouldDrawGuides
// (from InteractorAtts) determines whether guidelines should be drawn.
//
// Brad Whitlock, Mon Mar 13 11:42:54 PDT 2006
// I added code to set the color for the guidlines actor.
//
// ****************************************************************************
void
......@@ -252,12 +274,21 @@ Zoom2D::StartRubberBand(int x, int y)
ZoomInteractor::StartRubberBand(x, y);
if (shouldDrawGuides)
{
// Set the actor's color.
float fg[3];
proxy.GetForegroundColor(fg);
guideLinesActor->GetProperty()->SetColor(fg[0], fg[1], fg[2]);
vtkRenderer *ren = proxy.GetBackground();
ren->AddActor2D(guideLinesActor);
lastGuideX = x;
lastGuideY = y;
#if defined(__APPLE__)
UpdateRubberBand(x,y,x,y,x,y);
#else
DrawAllGuideLines(x, y, x, y);
#endif
}
}
......@@ -307,6 +338,9 @@ Zoom2D::EndRubberBand()
// control-key now determines zoom/unzoom, shouldDrawGuides
// (from InteractorAtts) determines whether guidelines should be drawn.
//
// Brad Whitlock, Mon Mar 13 12:22:13 PDT 2006
// Added code for Apple so all lines can be drawn at once.
//
// ****************************************************************************
void
......@@ -327,7 +361,33 @@ Zoom2D::UpdateRubberBand(int aX, int aY, int lX, int lY, int nX, int nY)
// call. The rubberBand doesn't need it exactly, but we do.
if (shouldDrawGuides)
{
#if defined(__APPLE__)
int x0 = (aX < nX) ? aX : nX;
int x1 = (aX > nX) ? aX : nX;
int y0 = (aY < nY) ? aY : nY;
int y1 = (aY > nY) ? aY : nY;
int xMin = (int)(canvasDeviceMinX);
int yMin = (int)(canvasDeviceMinY);
int xMax = (int)(canvasDeviceMaxX);
int yMax = (int)(canvasDeviceMaxY);
vtkViewport *ren = proxy.GetBackground();
vtkPoints *pts = guideLines->GetPoints();
pts->SetPoint(0, (double) xMin, (double) y0, 0.);
pts->SetPoint(1, (double) x0, (double) y0, 0.);
pts->SetPoint(2, (double) x1, (double) y0, 0.);
pts->SetPoint(3, (double) xMax, (double) y0, 0.);
pts->SetPoint(4, (double) xMin, (double) y1, 0.);
pts->SetPoint(5, (double) x0, (double) y1, 0.);
pts->SetPoint(6, (double) x1, (double) y1, 0.);
pts->SetPoint(7, (double) xMax, (double) y1, 0.);
pts->SetPoint(8, (double) x0, (double) yMin, 0.);
pts->SetPoint(9, (double) x0, (double) yMax, 0.);
pts->SetPoint(10, (double) x1, (double) yMin, 0.);
pts->SetPoint(11, (double) x1, (double) yMax, 0.);
guideLinesMapper->RenderOverlay(ren, guideLinesActor);
#else
UpdateGuideLines(aX, aY, lastGuideX, lastGuideY, nX, nY);
#endif
lastGuideX = nX;
lastGuideY = nY;
}
......
......@@ -38,6 +38,11 @@
// Kathleen Bonnell, Wed Aug 18 10:10:35 PDT 2004
// Set shouldClampSquare and shouldDrawGuides based on InteractorAtts.
//
// Brad Whitlock, Fri Mar 10 17:43:07 PST 2006
// Added APPLE-specific code where we create polydata that can contain
// 4 points instead of 2. This lets us draw the lines at the same time
// into an overlay window.
//
// ****************************************************************************
ZoomInteractor::ZoomInteractor(VisWindowInteractorProxy &vw)
......@@ -56,6 +61,17 @@ ZoomInteractor::ZoomInteractor(VisWindowInteractorProxy &vw)
rubberBand = vtkPolyData::New();
vtkPoints *pts = vtkPoints::New();
#if defined(__APPLE__)
pts->SetNumberOfPoints(4);
rubberBand->SetPoints(pts);
pts->Delete();
vtkCellArray *lines = vtkCellArray::New();
vtkIdType ids[] = { 0, 1, 2, 3, 0};
lines->InsertNextCell(5, ids);
rubberBand->SetLines(lines);
lines->Delete();
#else
pts->SetNumberOfPoints(2);
rubberBand->SetPoints(pts);
pts->Delete();
......@@ -65,6 +81,7 @@ ZoomInteractor::ZoomInteractor(VisWindowInteractorProxy &vw)
lines->InsertNextCell(2, ids);
rubberBand->SetLines(lines);
lines->Delete();
#endif
rubberBandMapper = vtkRubberBandMapper2D::New();
rubberBandMapper->SetInput(rubberBand);
......@@ -157,6 +174,11 @@ ZoomInteractor::SetCanvasViewport(void)
// Kathleen Bonnell, Wed Aug 18 10:10:35 PDT 2004
// Set shouldClampSquare and shouldDrawGuides based on InteractorAtts.
//
// Brad Whitlock, Mon Mar 13 11:08:22 PDT 2006
// I added code to set the actor's color to the current foreground
// color so it uses the right color on MacOS X. Other platforms use the
// XOR drawing mode so the color will vary there.
//
// ****************************************************************************
void
......@@ -171,6 +193,11 @@ ZoomInteractor::StartRubberBand(int x, int y)
shouldClampSquare = win->GetInteractorAtts()->GetClampSquare();
shouldDrawGuides = win->GetInteractorAtts()->GetShowGuidelines();
// Set the actor's color.
float fg[3];
proxy.GetForegroundColor(fg);
rubberBandActor->GetProperty()->SetColor(fg[0], fg[1], fg[2]);
//
// Add the rubber band actors to the background. We do this since the
// background is in the same display coordinates that the rubber band will
......@@ -521,6 +548,11 @@ GetSegment(int a, int l, int n, int &outl, int &newl)
// Programmer: Hank Childs
// Creation: May 22, 2000
//
// Modifications:
// Brad Whitlock, Fri Mar 10 17:45:22 PST 2006
// I added code for APPLE that lets us draw all line segments at the same
// time. The mapper that we're using in this case does not XOR so it's ok.
//
// ****************************************************************************
void
......@@ -534,6 +566,20 @@ ZoomInteractor::UpdateRubberBand(int aX, int aY, int lX, int lY,int nX,int nY)
return;
}
#if defined(__APPLE__)
// This code assumes that the lines will be drawn at the same time
// in an overlay window that the rubber-band mapper will create.
vtkViewport *ren = proxy.GetBackground();
vtkPoints *pts = rubberBand->GetPoints();
pts->SetPoint(0, (double) aX, (double) aY, 0.);
pts->SetPoint(1, (double) nX, (double) aY, 0.);
pts->SetPoint(2, (double) nX, (double) nY, 0.);
pts->SetPoint(3, (double) aX, (double) nY, 0.);
rubberBandMapper->RenderOverlay(ren, rubberBandActor);
#else
// This code assumes that the line segments will be drawn individually
// with XOR.
//
// Crossing over the anchor gives us a big problem. Break up this case.
//
......@@ -611,6 +657,7 @@ ZoomInteractor::UpdateRubberBand(int aX, int aY, int lX, int lY,int nX,int nY)
GetSegment(aX, lX, nX, lastX, newX);
DrawRubberBandLine(lastX, aY, newX, aY);
}
#endif
}
......
......@@ -45,6 +45,9 @@
// Hank Childs, Thu Jul 11 17:45:50 PDT 2002
// Add support for motion tracking.
//
// Brad Whitlock, Mon Mar 13 10:51:15 PDT 2006
// Made it possible to get the foreground color.
//
// ****************************************************************************
class VISWINDOW_API VisWindowInteractorProxy : public VisWindowProtectionProxy
......@@ -85,6 +88,9 @@ class VISWINDOW_API VisWindowInteractorProxy : public VisWindowProtectionProxy
void MotionBegin(void) { ProxiedMotionBegin(); };
void MotionEnd(void) { ProxiedMotionEnd(); };
void GetForegroundColor(float *fg)
{ ProxiedGetForegroundColor(fg); };
};