Commit 50e18c57 authored by hrchilds's avatar hrchilds
Browse files

Update from January 4, 2005

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@389 18c085ea-50e0-402c-830e-de6fd14e8384
parent 60c6b3b7
......@@ -786,9 +786,9 @@ env command for configure.
#
# Build and install it in the visit directory.
#
gunzip visit041108.tar.gz
tar xf visit041108.tar
cd visit041108/config-site
gunzip visit050110.tar.gz
tar xf visit050110.tar
cd visit050110/config-site
echo VISITHOME=$VISITDIR > `hostname`.conf
sed "s/ARCH/$VISITARCH/" Template.conf >> `hostname`.conf
cd ..
......@@ -797,12 +797,12 @@ make
clearcase_bin/visit-bin-dist
# Use the appropriate install command based on the operating system on
# which you built VisIt.
clearcase_bin/visit-install 1.4 aix $VISITDIR
clearcase_bin/visit-install 1.4 irix6 $VISITDIR
clearcase_bin/visit-install 1.4 linux $VISITDIR
clearcase_bin/visit-install 1.4 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.4 osf1 $VISITDIR
clearcase_bin/visit-install 1.4 sunos5 $VISITDIR
clearcase_bin/visit-install 1.4.1 aix $VISITDIR
clearcase_bin/visit-install 1.4.1 irix6 $VISITDIR
clearcase_bin/visit-install 1.4.1 linux $VISITDIR
clearcase_bin/visit-install 1.4.1 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.4.1 osf1 $VISITDIR
clearcase_bin/visit-install 1.4.1 sunos5 $VISITDIR
When running the configure script you can enable or disable certain dependent
packages. All the configure options are listed at the beginning of the
......
Copyright 2000 - 2004.
Copyright 2000 - 2005.
The Regents of the University of California.
All rights reserved.
......
......@@ -17,7 +17,7 @@ Unix and Mac OS X:
where
"version" will be 1.4 for the current distribution.
"version" will be 1.4.1 for the current distribution.
"platform" will be one of the following: aix, darwin, irix6, linux,
osf1, or sunos5 depending on the machine. The one you use should
......@@ -28,17 +28,17 @@ Unix and Mac OS X:
For example
visit-install 1.4 irix6 /usr/local/visit
visit-install 1.4.1 irix6 /usr/local/visit
will install the irix6, 1.4 version of visit in the directory
will install the irix6, 1.4.1 version of visit in the directory
"/usr/local/visit". Note that you will need to have the file
"visit1_4.irix6.tar.gz" present in the current directory for this
"visit1_4_1.irix6.tar.gz" present in the current directory for this
to function properly. You can install multiple binaries into the
same directory. For example, you could then execute
visit-install 1.4 linux /usr/local/visit
visit-install 1.4.1 linux /usr/local/visit
to add a linux, 1.4 version of visit to the same directory.
to add a linux, 1.4.1 version of visit to the same directory.
2. Add the bin directory below the installation directory
(/usr/local/visit/bin in our example) to each user's search path.
......@@ -76,8 +76,8 @@ Unix and Mac OS X:
Windows:
1. Copy the file visit1.4.exe to your desktop.
1. Copy the file visit1.4.1.exe to your desktop.
2. Double click on the visit1.4.exe icon to run the installer.
2. Double click on the visit1.4.1.exe icon to run the installer.
3. Follow the directions provided by the installer.
......@@ -20,10 +20,14 @@ using std::deque;
//
// Mark C. Miller, Thu May 27 11:05:15 PDT 2004
// Added missing initialization for plotActor data member
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added window id (wid)
// ****************************************************************************
DataNetwork::DataNetwork(void)
{
id = -1;
nid = -1;
wid = -1;
pspec = NULL;
dspec = NULL;
writer = NULL;
......@@ -144,11 +148,14 @@ DataNetwork::GetActor(avtDataObject_p dob)
// Mark C. Miller, 30Apr03
// Make sure plot is not NULL before calling a method on it.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Changed id to nid
//
// ****************************************************************************
void
DataNetwork::ReleaseData(void)
{
debug1 << "Releasing all data associated with network " << id << endl;
debug1 << "Releasing all data associated with network " << nid << endl;
int nNodes = nodeList.size();
for (int i = 0 ; i < nNodes ; i++)
{
......
......@@ -52,6 +52,11 @@
// Kathleen Bonnell, Thu Oct 21 15:55:46 PDT 2004
// Added ActorIsNull method.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Changed id to nid
// Added wid for window id
// Added methods to set/get window id
//
// ****************************************************************************
class DataNetwork
{
......@@ -59,7 +64,8 @@ public:
DataNetwork(void);
virtual ~DataNetwork(void);
void SetID(int _id) { id = _id; };
void SetNetID(int _id) { nid = _id; };
void SetWinID(int _id) { wid = _id; };
void SetPlottype(const std::string &type) { plottype = type; };
virtual void SetPlot(avtPlot *_plot) { plot = _plot; };
void SetTerminalNode(Netnode* t) {terminalNode = t;};
......@@ -76,7 +82,8 @@ public:
avtDataObjectWriter_p GetWriter(avtDataObject_p dob,
avtPipelineSpecification_p pspec,
WindowAttributes *atts);
int GetID(void) { return id; };
int GetNetID(void) const { return nid; };
int GetWinID(void) const { return wid; };
Netnode* GetTerminalNode(void) { return terminalNode; };
virtual avtPlot_p GetPlot(void) { return plot; };
avtActor_p GetActor(avtDataObject_p dob);
......@@ -88,7 +95,8 @@ public:
std::vector<Netnode*> &GetNodeList(void) { return nodeList; };
protected:
int id;
int nid;
int wid;
Netnode *terminalNode;
std::vector<Netnode*> nodeList;
avtDataSpecification_p dspec;
......
......@@ -385,6 +385,9 @@ RPCExecutor<PreparePlotRPC>::Execute(PreparePlotRPC *rpc)
// Eric Brugger, Fri Mar 19 15:19:13 PST 2004
// Modified the rpc to pass the data extents to the engine.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added code to pass window id
//
// ****************************************************************************
template<>
void
......@@ -398,7 +401,7 @@ RPCExecutor<MakePlotRPC>::Execute(MakePlotRPC *rpc)
{
netmgr->MakePlot(rpc->GetID().c_str(), rpc->GetAtts(),
rpc->GetDataExtents());
MakePlotRPC::NetworkID id(netmgr->EndNetwork());
MakePlotRPC::NetworkID id(netmgr->EndNetwork(rpc->GetWindowID()));
rpc->SendReply(&id);
}
CATCH2(VisItException, e)
......@@ -539,6 +542,8 @@ RPCExecutor<UpdatePlotAttsRPC>::Execute(UpdatePlotAttsRPC *rpc)
// Kathleen Bonnell, Fri Oct 10 10:58:10 PDT 2003
// Set up callbacks for DataObjectQuery.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added window id to pick rpc
// ****************************************************************************
template<>
void
......@@ -555,7 +560,7 @@ RPCExecutor<PickRPC>::Execute(PickRPC *rpc)
LoadBalancer::RegisterProgressCallback(NULL, NULL);
avtTerminatingSource::RegisterInitializeProgressCallback(NULL, NULL);
avtDataObjectQuery::RegisterInitializeProgressCallback(NULL, NULL);
netmgr->Pick(rpc->GetNetId(), rpc->GetPickAtts());
netmgr->Pick(rpc->GetNetId(), rpc->GetWinId(), rpc->GetPickAtts());
rpc->SendReply(rpc->GetPickAtts());
}
CATCH2(VisItException, e)
......@@ -655,6 +660,9 @@ RPCExecutor<StartPickRPC>::Execute(StartPickRPC *rpc)
//
// Mark C. Miller, Tue Oct 19 19:44:00 PDT 2004
// Added arg to pass changed color table name
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added window id to SetWinAnnotAttsRPC
// ****************************************************************************
template<>
void
......@@ -671,11 +679,13 @@ RPCExecutor<SetWinAnnotAttsRPC>::Execute(SetWinAnnotAttsRPC *rpc)
netmgr->SetWindowAttributes(rpc->GetWindowAtts(),
rpc->GetExtentTypeString(),
rpc->GetViewExtents(),
rpc->GetChangedCtName());
rpc->GetChangedCtName(),
rpc->GetWindowID());
netmgr->SetAnnotationAttributes(rpc->GetAnnotationAtts(),
rpc->GetAnnotationObjectList(),
rpc->GetVisualCueList(),
rpc->GetFrameAndState());
rpc->GetFrameAndState(),
rpc->GetWindowID());
rpc->SendReply();
}
CATCH2(VisItException, e)
......@@ -764,6 +774,8 @@ RPCExecutor<SetWinAnnotAttsRPC>::Execute(SetWinAnnotAttsRPC *rpc)
// Mark C. Miller, Mon Aug 23 20:24:31 PDT 2004
// Moved code to get cellCountMultiplier to inside GetOutput
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added code to operate on specific window id
// ****************************************************************************
template<>
void
......@@ -799,6 +811,7 @@ RPCExecutor<ExecuteRPC>::Execute(ExecuteRPC *rpc)
bool shouldSendAbort = false;
float cellCountMultiplier;
int netId = netmgr->GetCurrentNetworkId();
int winId = netmgr->GetCurrentWindowId();
avtNullData abortDob(NULL);
// Get the output of the network manager. This does the job of
......@@ -823,8 +836,8 @@ RPCExecutor<ExecuteRPC>::Execute(ExecuteRPC *rpc)
writingData = visitTimer->StartTimer();
// set params influencing scalable rendering
int scalableThreshold = netmgr->GetScalableThreshold();
int currentTotalGlobalCellCount = netmgr->GetTotalGlobalCellCounts();
int scalableThreshold = netmgr->GetScalableThreshold(winId);
int currentTotalGlobalCellCount = netmgr->GetTotalGlobalCellCounts(winId);
int currentNetworkGlobalCellCount = 0;
bool scalableThresholdExceeded = false;
......@@ -1132,6 +1145,9 @@ RPCExecutor<DefineVirtualDatabaseRPC>::Execute(DefineVirtualDatabaseRPC *rpc)
//
// Mark C. Miller, Wed Oct 6 18:12:29 PDT 2004
// Changed bool flag for 3D annots to integer mode
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added code to operate on specific window id
// ****************************************************************************
template<>
void
......@@ -1155,7 +1171,7 @@ RPCExecutor<RenderRPC>::Execute(RenderRPC *rpc)
// do the render
avtDataObjectWriter_p writer =
netmgr->Render(rpc->GetIDs(),rpc->GetSendZBuffer(),
rpc->GetAnnotMode());
rpc->GetAnnotMode(), rpc->GetWindowID());
// Send the data back to the viewer.
engine->WriteData(rpc, writer);
......
This diff is collapsed.
......@@ -24,6 +24,19 @@ class QueryOverTimeAttributes;
class MaterialAttributes;
class VisWindow;
typedef struct _EngineVisWinInfo
{
WindowAttributes windowAttributes;
AnnotationAttributes annotationAttributes;
AnnotationObjectList annotationObjectList;
VisualCueList visualCueList;
std::string extentTypeString;
std::string changedCtName;
int frameAndState[7];
VisWindow *viswin;
std::vector<int> plotsCurrentlyInWindow;
} EngineVisWinInfo;
// ****************************************************************************
// Class: NetworkManager
//
......@@ -187,6 +200,10 @@ class VisWindow;
// Hank Childs, Wed Nov 24 17:30:11 PST 2004
// Added support for image based plots.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Modified to use a map of EngineVisWindowInfo objects keyed on the
// window ID
//
// ****************************************************************************
class NetworkManager
{
......@@ -211,15 +228,16 @@ class NetworkManager
const unsigned int ninputs = 1);
void MakePlot(const std::string&, const AttributeGroup*,
const std::vector<double> &);
int EndNetwork(void);
int EndNetwork(int windowID);
void CancelNetwork();
void UseNetwork(int);
avtPlot_p GetPlot(void);
int GetCurrentNetworkId(void);
int GetTotalGlobalCellCounts(void) const;
int GetCurrentNetworkId(void) const;
int GetCurrentWindowId(void) const;
int GetTotalGlobalCellCounts(int winID) const;
void SetGlobalCellCount(int netId, int cellCount);
int GetScalableThreshold(void) const;
int GetScalableThreshold(int winId) const;
void DoneWithNetwork(int);
void UpdatePlotAtts(int, const AttributeGroup *);
......@@ -227,11 +245,13 @@ class NetworkManager
void SetWindowAttributes(const WindowAttributes&,
const std::string&,
const double*,
const std::string&);
const std::string&,
int);
void SetAnnotationAttributes(const AnnotationAttributes&,
const AnnotationObjectList&,
const VisualCueList&,
const int *fns,
int,
int annotMode=1);
void SetLoadBalancer(LoadBalancer *lb) {loadBalancer = lb;};
......@@ -240,12 +260,12 @@ class NetworkManager
bool calledForRender,
float *cellCountMultiplier);
avtDataObjectWriter_p Render(intVector networkIds, bool getZBuffer,
int annotMode);
int annotMode, int windowID);
void StartPickMode(const bool);
void StopPickMode(void);
void Pick(const int, PickAttributes *);
void Pick(const int, const int, PickAttributes *);
void Query(const std::vector<int> &, QueryAttributes*);
void DumpRenders(void) { dumpRenders = true; };
......@@ -271,15 +291,8 @@ class NetworkManager
bool requireOriginalCells;
bool requireOriginalNodes;
LoadBalancer *loadBalancer;
WindowAttributes windowAttributes;
AnnotationAttributes annotationAttributes;
AnnotationObjectList annotationObjectList;
VisualCueList visualCueList;
std::string extentTypeString;
std::string changedCtName;
int frameAndState[7];
VisWindow *viswin;
std::vector<int> plotsCurrentlyInWindow;
std::map<int, EngineVisWinInfo> viswinMap;
bool dumpRenders;
};
......
......@@ -401,13 +401,16 @@ EngineProxy::ApplyOperator(const string &name, const AttributeSubject *atts)
// Eric Brugger, Fri Mar 19 15:14:34 PST 2004
// I modified the rpc to pass the data limits to the engine.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added window id
//
// ****************************************************************************
int
EngineProxy::MakePlot(const string &name, const AttributeSubject *atts,
const vector<double> &extents)
const vector<double> &extents, int winID)
{
int id;
id = makePlotRPC(name, atts, extents);
id = makePlotRPC(name, atts, extents, winID);
if (makePlotRPC.GetStatus() == VisItRPC::error)
{
RECONSTITUTE_EXCEPTION(makePlotRPC.GetExceptionType(),
......@@ -502,6 +505,9 @@ EngineProxy::UpdatePlotAttributes(const string &name, int id,
// Mark C. Miller, Tue Oct 19 20:18:22 PDT 2004
// Added argument for color table name
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added winID
//
// ****************************************************************************
void
......@@ -512,10 +518,11 @@ EngineProxy::SetWinAnnotAtts(const WindowAttributes *winAtts,
const VisualCueList *visCues,
const int *frameAndState,
const double *viewExtents,
const string ctName)
const string ctName,
const int winID)
{
setWinAnnotAttsRPC(winAtts, annotAtts, aoList, extStr, visCues,
frameAndState, viewExtents, ctName);
frameAndState, viewExtents, ctName, winID);
if (setWinAnnotAttsRPC.GetStatus() == VisItRPC::error)
{
RECONSTITUTE_EXCEPTION(setWinAnnotAttsRPC.GetExceptionType(),
......@@ -777,18 +784,21 @@ EngineProxy::DefineVirtualDatabase(const std::string &fileFormat,
//
// Mark C. Miller, Sat Nov 13 09:35:51 PST 2004
// Disabled callback to waitCB
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added windowID
// ****************************************************************************
avtDataObjectReader_p
EngineProxy::Render(bool sendZBuffer, const intVector& networkIDs,
int annotMode, void (*waitCB)(void *), void *cbData)
int annotMode, int windowID, void (*waitCB)(void *), void *cbData)
{
// Send a status message indicating that we're starting a scalable render
Status("Scalable Rendering.");
// Do it!
renderRPC(networkIDs, sendZBuffer, annotMode);
renderRPC(networkIDs, sendZBuffer, annotMode, windowID);
// Get the reply and update the progress bar
while (renderRPC.GetStatus() == VisItRPC::incomplete ||
......@@ -1023,13 +1033,16 @@ EngineProxy::Interrupt()
// Kathleen Bonnell, Tue Mar 5 09:27:51 PST 2002
// Remove unnecessary debug lines.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added wid
//
// ****************************************************************************
void
EngineProxy::Pick(const int nid, const PickAttributes *atts,
PickAttributes &retAtts)
PickAttributes &retAtts, int wid)
{
retAtts = pickRPC(nid, atts);
retAtts = pickRPC(nid, atts, wid);
if (pickRPC.GetStatus() == VisItRPC::error)
{
......
......@@ -209,6 +209,9 @@ class StatusAttributes;
//
// Mark C. Miller, Tue Oct 19 19:51:43 PDT 2004
// Added arg to SetWinAnnotAtts for changed color table name
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added window id to various methods to support multi-window SR
// ****************************************************************************
class ENGINE_PROXY_API EngineProxy : public RemoteProxyBase
......@@ -256,13 +259,14 @@ public:
void ApplyNamedFunction(const std::string &name, int nargs);
int MakePlot(const std::string&,
const AttributeSubject*,
const std::vector<double>&);
const std::vector<double>&,
int winID);
void UseNetwork(int);
void UpdatePlotAttributes(const std::string &, int,
const AttributeSubject*);
void Pick(const int, const PickAttributes *,
PickAttributes &);
PickAttributes &, const int);
void StartPick(const bool, const bool, const int);
void SetWinAnnotAtts(const WindowAttributes*,
......@@ -272,9 +276,10 @@ public:
const VisualCueList*,
const int *frameAndState,
const double *viewExtents,
std::string);
const std::string,
const int winID);
avtDataObjectReader_p Render(bool, const intVector&, int,
avtDataObjectReader_p Render(bool, const intVector&, int, int,
void (*waitCB)(void *), void *cbData);
avtDataObjectReader_p Execute(bool, void (*waitCB)(void *), void *cbData);
......
......@@ -144,12 +144,16 @@ PreparePlotRPC::GetMakePlotRPC()
// Jeremy Meredith, Fri Mar 19 15:00:21 PST 2004
// Modified the rpc to pass the data extents.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added windowID
//
// ****************************************************************************
MakePlotRPC::MakePlotRPC()
: BlockingRPC("ad*", &networkID)
: BlockingRPC("ad*i", &networkID)
{
atts = NULL;
preparePlotRPC.SetMakePlotRPC(this);
windowID = -1;
}
// ****************************************************************************
......@@ -205,6 +209,20 @@ MakePlotRPC::SetDataExtents(const std::vector<double> &extents)
Select(1, (void*)&dataExtents);
}
// ****************************************************************************
// Method: MakePlotRPC::SetWindowID
//
// Programmer: Mark C. Miller
// Creation: December 15, 2004
//
// ****************************************************************************
void
MakePlotRPC::SetWindowID(int id)
{
windowID = id;
Select(2, (void*)&windowID);
}
// ****************************************************************************
// Method: MakePlotRPC::SetXfer
//
......@@ -235,11 +253,15 @@ MakePlotRPC::SetXfer(Xfer *x)
// Jeremy Meredith, Fri Mar 19 15:00:21 PST 2004
// Modified the rpc to pass the data extents.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added windowID
//
// ****************************************************************************
void
MakePlotRPC::SelectAll()
{
Select(1, (void*)&dataExtents);
Select(2, (void*)&windowID);
}
// ****************************************************************************
......@@ -290,6 +312,19 @@ MakePlotRPC::GetDataExtents() const
return dataExtents;
}
// ****************************************************************************
// Method: MakePlotRPC::GetWindowID
//
// Programmer: Mark C. Miller
// Creation: December 15, 2004
//
// ****************************************************************************
int
MakePlotRPC::GetWindowID() const
{
return windowID;
}
// ****************************************************************************
// Method: MakePlotRPC::GetPreparePlotRPC
//
......@@ -325,10 +360,13 @@ MakePlotRPC::GetPreparePlotRPC()
// Jeremy Meredith, Fri Mar 19 15:00:21 PST 2004
// Modified the rpc to pass the data extents.
//
// Mark C. Miller, Tue Jan 4 10:23:19 PST 2005
// Added windowID
//
// ****************************************************************************
int
MakePlotRPC::operator()(const string &n, const AttributeSubject *a,
const std::vector<double> &extents)
const std::vector<double> &extents, int winID)
{
preparePlotRPC(n);
if (preparePlotRPC.GetStatus() == VisItRPC::error)
......@@ -342,6 +380,7 @@ MakePlotRPC::operator()(const string &n, const AttributeSubject *a,
if (a)
Select(0, (void*)a);
Select(1, (void*)&extents);
Select(2, (void*)&winID);
Execute();
......
......@@ -56,6 +56,9 @@ class ENGINE_RPC_API PreparePlotRPC : public BlockingRPC
// Jeremy Meredith, Fri Mar 19 14:56:55 PST 2004
// Modified the rpc to pass data extents.
//
// Mark C. Miller, Wed Dec 15 21:56:26 PST 2004
// Added windowID
//
// ****************************************************************************
class ENGINE_RPC_API MakePlotRPC : public BlockingRPC
......@@ -76,7 +79,7 @@ class ENGINE_RPC_API MakePlotRPC : public BlockingRPC
virtual ~MakePlotRPC();
int operator()(const std::string&, const AttributeSubject*,
const std::vector<double> &);
const std::vector<double> &, int);
virtual void SelectAll();
......@@ -84,9 +87,11 @@ class ENGINE_RPC_API MakePlotRPC : public BlockingRPC
AttributeSubject *GetAtts();
const std::vector<double> &GetDataExtents() const;
PreparePlotRPC &GetPreparePlotRPC();
int GetWindowID() const;
void SetAtts(AttributeSubject*);
void SetDataExtents(const std::vector<double> &);
void SetWindowID(int id);
virtual void SetXfer(Xfer *x);
......@@ -95,6 +100,7 @@ class ENGINE_RPC_API MakePlotRPC : public BlockingRPC
std::vector<double> dataExtents;
PreparePlotRPC preparePlotRPC;
NetworkID networkID;
int windowID;
};
#endif
......@@ -12,9 +12,13 @@
// Programmer: Kathleen Bonnell
// Creation: November 20, 2001
//
// Modifications:
//