Commit d2fca79b authored by ghweber's avatar ghweber

Merged 1.12RC into trunk.

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@7295 18c085ea-50e0-402c-830e-de6fd14e8384
parent 2d7ceec9
......@@ -364,6 +364,9 @@
# Tom Fogal, Mon May 4 17:43:32 MDT 2009
# (Temporarily) remove paraDIS reader, to get a nightly test run.
#
# Jeremy Meredith, Mon May 11 17:14:29 EDT 2009
# Adding LAMMPS backport from trunk.
#
##############################################################################
@SET_MAKE@
......
<?xml version="1.0"?>
<Plugin name="PersistentParticles" type="operator" label="PersistentParticles" version="1.0" enabled="true" mdspecificcode="false" engspecificcode="false" onlyengine="false" noengine="false">
<Plugin name="PersistentParticles" type="operator" label="PersistentParticles" version="1.0" enabled="true" mdspecificcode="false" engspecificcode="false" onlyengine="false" noengine="false" iconFile="PersistentParticles.xpm">
<Attribute name="PersistentParticlesAttributes" purpose="This class contains attributes for the PersistentParticles operator." persistent="true" keyframe="true" exportAPI="" exportInclude="">
<Field name="startIndex" label="Index of first time slice" type="int">
0
</Field>
<Field name="startIndexRelative" label="Index of first time slice relative to current time" type="bool">
false
</Field>
<Field name="stopIndex" label="Index of last time slice" type="int">
1
</Field>
<Field name="stopIndexRelative" label="Index of last time slice relative to current time" type="bool">
false
</Field>
<Field name="stride" label="Skip rate between time slices" type="int">
1
</Field>
......
/* XPM */
static const char * PersistentParticles_xpm[] = {
"32 32 309 2",
" c None",
". c #1500B3",
"+ c #1F00DB",
"@ c #2600F7",
"# c #460400",
"$ c #0A007E",
"% c #1900B9",
"& c #2A00EA",
"* c #4100FF",
"= c #6C0500",
"- c #B60500",
"; c #970500",
"> c #090077",
", c #1800AD",
"' c #2800E5",
") c #2B00F9",
"! c #560400",
"~ c #9B0500",
"{ c #D60500",
"] c #DB0300",
"^ c #B70400",
"/ c #020050",
"( c #050063",
"_ c #10008F",
": c #1D00C4",
"< c #2B00F0",
"[ c #3000F9",
"} c #2300E6",
"| c #470500",
"1 c #780500",
"2 c #A70500",
"3 c #D70500",
"4 c #E40400",
"5 c #DC0400",
"6 c #BF0500",
"7 c #030053",
"8 c #07006E",
"9 c #2D0072",
"0 c #620056",
"a c #8D0052",
"b c #640072",
"c c #660500",
"d c #900500",
"e c #AA0500",
"f c #D20500",
"g c #DA0400",
"h c #D80300",
"i c #DA0300",
"j c #BE0500",
"k c #03004F",
"l c #2B0020",
"m c #820400",
"n c #A80500",
"o c #C40500",
"p c #CE0500",
"q c #5A0500",
"r c #7D0500",
"s c #980500",
"t c #CF0400",
"u c #D30300",
"v c #E80200",
"w c #F70100",
"x c #EA0300",
"y c #C50500",
"z c #310014",
"A c #690500",
"B c #8F0500",
"C c #AF0500",
"D c #C80500",
"E c #C00400",
"F c #400600",
"G c #3F0500",
"H c #420500",
"I c #4F0500",
"J c #680500",
"K c #770500",
"L c #7C0500",
"M c #7B0500",
"N c #4A0400",
"O c #480400",
"P c #5E0500",
"Q c #6E0500",
"R c #530500",
"S c #790500",
"T c #9C0400",
"U c #B70500",
"V c #BB0400",
"W c #300400",
"X c #390500",
"Y c #930500",
"Z c #A40500",
"` c #8B0500",
" . c #450400",
".. c #A30500",
"+. c #008F00",
"@. c #00C600",
"#. c #00E500",
"$. c #500500",
"%. c #700500",
"&. c #8E0500",
"*. c #AB0500",
"=. c #AB0400",
"-. c #006200",
";. c #008600",
">. c #00BD00",
",. c #00ED00",
"'. c #00FF00",
"). c #430600",
"!. c #5D0500",
"~. c #760500",
"{. c #950500",
"]. c #990500",
"^. c #005E00",
"/. c #3A4A00",
"(. c #3D6C00",
"_. c #0EBB00",
":. c #00EE00",
"<. c #00F800",
"[. c #00F300",
"}. c #4B0500",
"|. c #640500",
"1. c #770002",
"2. c #880021",
"3. c #75005F",
"4. c #7C1200",
"5. c #D40300",
"6. c #D30700",
"7. c #953800",
"8. c #3A9300",
"9. c #00C500",
"0. c #160046",
"a. c #1E0083",
"b. c #2500D1",
"c. c #3300FE",
"d. c #B90400",
"e. c #B50300",
"f. c #C10400",
"g. c #CB0300",
"h. c #822700",
"i. c #04005D",
"j. c #0E008A",
"k. c #1D00C0",
"l. c #2F00F4",
"m. c #4200FD",
"n. c #2C00F9",
"o. c #840500",
"p. c #A00200",
"q. c #A80100",
"r. c #AC0300",
"s. c #AA0600",
"t. c #07004C",
"u. c #07006B",
"v. c #120093",
"w. c #1C00BB",
"x. c #1F00D6",
"y. c #1E00D0",
"z. c #890500",
"A. c #890300",
"B. c #900200",
"C. c #980400",
"D. c #9A0500",
"E. c #830400",
"F. c #B00500",
"G. c #C30003",
"H. c #83002D",
"I. c #4C0066",
"J. c #110095",
"K. c #11009D",
"L. c #4C0400",
"M. c #720500",
"N. c #740500",
"O. c #770300",
"P. c #800300",
"Q. c #810400",
"R. c #9C0500",
"S. c #B80400",
"T. c #C00100",
"U. c #CA0400",
"V. c #E80300",
"W. c #76002B",
"X. c #242D00",
"Y. c #560500",
"Z. c #610500",
"`. c #6D0500",
" + c #860500",
".+ c #A60100",
"++ c #C70200",
"@+ c #C70400",
"#+ c #01A200",
"$+ c #188800",
"%+ c #463100",
"&+ c #5B0700",
"*+ c #570500",
"=+ c #520F00",
"-+ c #930300",
";+ c #900100",
">+ c #AD0300",
",+ c #B50600",
"'+ c #006700",
")+ c #009500",
"!+ c #00CC00",
"~+ c #00F700",
"{+ c #630400",
"]+ c #7A0300",
"^+ c #8D0300",
"/+ c #9D0500",
"(+ c #006000",
"_+ c #007A00",
":+ c #00AA00",
"<+ c #00DD00",
"[+ c #28B500",
"}+ c #479D00",
"|+ c #04ED00",
"1+ c #3B0038",
"2+ c #5F0500",
"3+ c #6A0500",
"4+ c #6B0500",
"5+ c #730500",
"6+ c #820500",
"7+ c #005F00",
"8+ c #006300",
"9+ c #116A00",
"0+ c #692200",
"a+ c #A10500",
"b+ c #B11300",
"c+ c #0B0084",
"d+ c #22008A",
"e+ c #43002B",
"f+ c #580400",
"g+ c #6F0500",
"h+ c #341A00",
"i+ c #670500",
"j+ c #870500",
"k+ c #9F0500",
"l+ c #B50500",
"m+ c #020054",
"n+ c #0A007B",
"o+ c #1A00B1",
"p+ c #2B00EA",
"q+ c #55007B",
"r+ c #370084",
"s+ c #460500",
"t+ c #650600",
"u+ c #850500",
"v+ c #A00500",
"w+ c #B30500",
"x+ c #030050",
"y+ c #060067",
"z+ c #120096",
"A+ c #1F00C9",
"B+ c #2D00F8",
"C+ c #440500",
"D+ c #620500",
"E+ c #810500",
"F+ c #B40500",
"G+ c #BD0400",
"H+ c #4C001E",
"I+ c #4E0028",
"J+ c #690034",
"K+ c #740044",
"L+ c #720055",
"M+ c #790063",
"N+ c #6D005B",
"O+ c #410500",
"P+ c #B20500",
"Q+ c #C90500",
"R+ c #C60400",
"S+ c #750500",
"T+ c #9E0500",
"U+ c #B40200",
"V+ c #D30100",
"W+ c #CF0300",
"X+ c #CF0500",
"Y+ c #430500",
"Z+ c #B10500",
"`+ c #953700",
" @ c #20D400",
".@ c #3E0600",
"+@ c #490500",
"@@ c #B40600",
"#@ c #5A2300",
"$@ c #279700",
"%@ c #00FB00",
"&@ c #3E0500",
"*@ c #480500",
"=@ c #B10600",
"-@ c #780600",
";@ c #134800",
">@ c #00C800",
",@ c #00F400",
"'@ c #540500",
")@ c #A50500",
"!@ c #BA0500",
"~@ c #920500",
"{@ c #007600",
"]@ c #00A500",
"^@ c #00DA00",
"/@ c #370400",
"(@ c #910600",
"_@ c #007D00",
":@ c #00A200",
"<@ c #00C100",
"[@ c #00D000",
"}@ c #7C0600",
"|@ c #6F0600",
"1@ c #006100",
"2@ c #007000",
"3@ c #009200",
"4@ c #2F0400",
" . + @ # ",
" $ % & * = - ; ",
" > , ' ) ! ~ { ] ^ ",
" / ( _ : < [ } | 1 2 3 4 5 6 ",
" 7 8 9 0 a b c d e f g h i j ",
" k l m n o p q r s e t u v w x y ",
" z A B C D E F G H I J K L M N O P Q ",
" R S T U V W X A M Y Z ` ",
" .c m ..U n +.@.#. ",
" $.%.&.*.=. -.;.>.,. '. ",
" ).!.~.{.C ]. ^./.(._.:.<.[. ",
" }.|.1.2.3. 4.D 5.6.7.8.9. ",
" 0.a.b. c. n d.e.f.g.h. ",
" i.j.k.l.m.n. o.2 p.q.r.s. ",
" t.u.v.w.x.y. c z.A.B.C.D. ",
" E.F.G.H.I.J.K. L.M.N.O.P.Q. ",
" R.S.T.U.V.W. X.Y.Z.A %.`. ",
" +...+.+++@+ #+$+%+&+*+=+ ",
" M.z.-+;+>+,+ '+)+!+~+ ",
" {+M.M ]+^+/+ (+_+:+<+[+}+|+ ",
" 1+2+3+4+5+6+ 7+8+9+0+a+U b+ ",
" c+d+e+f+2+4+g+ 7+h+i+j+k+l+o ",
" m+n+o+p+ q+r+ s+t+u+v+w+y ",
" x+y+z+A+< B+} C+D+E+k+F+D G+ ",
" H+I+J+K+L+M+N+ O+P L /+P+Q+R+ ",
" c S+z.T+C U+V+W+X+F. Y+P K ~ Z+`+ @ ",
" .@+@R = u+k+@@Z+k+ G 2+#@$@%@ ",
" &@*@2+r T+=@C -@ ;@+.>@,@ '.",
" .@'@1 )@!@~@ 7+{@]@^@~+%@,@",
" /@P (@{. -._@:@<@[@ ",
" &@}@|@ ^.1@2@;.3@ ",
" 4@ "};
......@@ -40,7 +40,7 @@
#include <DataNode.h>
// Type map format string
const char *PersistentParticlesAttributes::TypeMapFormatString = "iiisb";
const char *PersistentParticlesAttributes::TypeMapFormatString = "ibibisb";
// ****************************************************************************
// Method: PersistentParticlesAttributes::PersistentParticlesAttributes
......@@ -62,7 +62,9 @@ PersistentParticlesAttributes::PersistentParticlesAttributes() :
indexVariable("default")
{
startIndex = 0;
startIndexRelative = false;
stopIndex = 1;
stopIndexRelative = false;
stride = 1;
}
......@@ -85,7 +87,9 @@ PersistentParticlesAttributes::PersistentParticlesAttributes(const PersistentPar
AttributeSubject(PersistentParticlesAttributes::TypeMapFormatString)
{
startIndex = obj.startIndex;
startIndexRelative = obj.startIndexRelative;
stopIndex = obj.stopIndex;
stopIndexRelative = obj.stopIndexRelative;
stride = obj.stride;
indexVariable = obj.indexVariable;
connectParticles = obj.connectParticles;
......@@ -133,7 +137,9 @@ PersistentParticlesAttributes::operator = (const PersistentParticlesAttributes &
{
if (this == &obj) return *this;
startIndex = obj.startIndex;
startIndexRelative = obj.startIndexRelative;
stopIndex = obj.stopIndex;
stopIndexRelative = obj.stopIndexRelative;
stride = obj.stride;
indexVariable = obj.indexVariable;
connectParticles = obj.connectParticles;
......@@ -162,7 +168,9 @@ PersistentParticlesAttributes::operator == (const PersistentParticlesAttributes
{
// Create the return value
return ((startIndex == obj.startIndex) &&
(startIndexRelative == obj.startIndexRelative) &&
(stopIndex == obj.stopIndex) &&
(stopIndexRelative == obj.stopIndexRelative) &&
(stride == obj.stride) &&
(indexVariable == obj.indexVariable) &&
(connectParticles == obj.connectParticles));
......@@ -309,11 +317,13 @@ PersistentParticlesAttributes::NewInstance(bool copy) const
void
PersistentParticlesAttributes::SelectAll()
{
Select(ID_startIndex, (void *)&startIndex);
Select(ID_stopIndex, (void *)&stopIndex);
Select(ID_stride, (void *)&stride);
Select(ID_indexVariable, (void *)&indexVariable);
Select(ID_connectParticles, (void *)&connectParticles);
Select(ID_startIndex, (void *)&startIndex);
Select(ID_startIndexRelative, (void *)&startIndexRelative);
Select(ID_stopIndex, (void *)&stopIndex);
Select(ID_stopIndexRelative, (void *)&stopIndexRelative);
Select(ID_stride, (void *)&stride);
Select(ID_indexVariable, (void *)&indexVariable);
Select(ID_connectParticles, (void *)&connectParticles);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -352,12 +362,24 @@ PersistentParticlesAttributes::CreateNode(DataNode *parentNode, bool completeSav
node->AddNode(new DataNode("startIndex", startIndex));
}
if(completeSave || !FieldsEqual(ID_startIndexRelative, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("startIndexRelative", startIndexRelative));
}
if(completeSave || !FieldsEqual(ID_stopIndex, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("stopIndex", stopIndex));
}
if(completeSave || !FieldsEqual(ID_stopIndexRelative, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("stopIndexRelative", stopIndexRelative));
}
if(completeSave || !FieldsEqual(ID_stride, &defaultObject))
{
addToParent = true;
......@@ -414,8 +436,12 @@ PersistentParticlesAttributes::SetFromNode(DataNode *parentNode)
DataNode *node;
if((node = searchNode->GetNode("startIndex")) != 0)
SetStartIndex(node->AsInt());
if((node = searchNode->GetNode("startIndexRelative")) != 0)
SetStartIndexRelative(node->AsBool());
if((node = searchNode->GetNode("stopIndex")) != 0)
SetStopIndex(node->AsInt());
if((node = searchNode->GetNode("stopIndexRelative")) != 0)
SetStopIndexRelative(node->AsBool());
if((node = searchNode->GetNode("stride")) != 0)
SetStride(node->AsInt());
if((node = searchNode->GetNode("indexVariable")) != 0)
......@@ -435,6 +461,13 @@ PersistentParticlesAttributes::SetStartIndex(int startIndex_)
Select(ID_startIndex, (void *)&startIndex);
}
void
PersistentParticlesAttributes::SetStartIndexRelative(bool startIndexRelative_)
{
startIndexRelative = startIndexRelative_;
Select(ID_startIndexRelative, (void *)&startIndexRelative);
}
void
PersistentParticlesAttributes::SetStopIndex(int stopIndex_)
{
......@@ -442,6 +475,13 @@ PersistentParticlesAttributes::SetStopIndex(int stopIndex_)
Select(ID_stopIndex, (void *)&stopIndex);
}
void
PersistentParticlesAttributes::SetStopIndexRelative(bool stopIndexRelative_)
{
stopIndexRelative = stopIndexRelative_;
Select(ID_stopIndexRelative, (void *)&stopIndexRelative);
}
void
PersistentParticlesAttributes::SetStride(int stride_)
{
......@@ -473,12 +513,24 @@ PersistentParticlesAttributes::GetStartIndex() const
return startIndex;
}
bool
PersistentParticlesAttributes::GetStartIndexRelative() const
{
return startIndexRelative;
}
int
PersistentParticlesAttributes::GetStopIndex() const
{
return stopIndex;
}
bool
PersistentParticlesAttributes::GetStopIndexRelative() const
{
return stopIndexRelative;
}
int
PersistentParticlesAttributes::GetStride() const
{
......@@ -537,11 +589,13 @@ PersistentParticlesAttributes::GetFieldName(int index) const
{
switch (index)
{
case ID_startIndex: return "startIndex";
case ID_stopIndex: return "stopIndex";
case ID_stride: return "stride";
case ID_indexVariable: return "indexVariable";
case ID_connectParticles: return "connectParticles";
case ID_startIndex: return "startIndex";
case ID_startIndexRelative: return "startIndexRelative";
case ID_stopIndex: return "stopIndex";
case ID_stopIndexRelative: return "stopIndexRelative";
case ID_stride: return "stride";
case ID_indexVariable: return "indexVariable";
case ID_connectParticles: return "connectParticles";
default: return "invalid index";
}
}
......@@ -566,11 +620,13 @@ PersistentParticlesAttributes::GetFieldType(int index) const
{
switch (index)
{
case ID_startIndex: return FieldType_int;
case ID_stopIndex: return FieldType_int;
case ID_stride: return FieldType_int;
case ID_indexVariable: return FieldType_variablename;
case ID_connectParticles: return FieldType_bool;
case ID_startIndex: return FieldType_int;
case ID_startIndexRelative: return FieldType_bool;
case ID_stopIndex: return FieldType_int;
case ID_stopIndexRelative: return FieldType_bool;
case ID_stride: return FieldType_int;
case ID_indexVariable: return FieldType_variablename;
case ID_connectParticles: return FieldType_bool;
default: return FieldType_unknown;
}
}
......@@ -595,11 +651,13 @@ PersistentParticlesAttributes::GetFieldTypeName(int index) const
{
switch (index)
{
case ID_startIndex: return "int";
case ID_stopIndex: return "int";
case ID_stride: return "int";
case ID_indexVariable: return "variablename";
case ID_connectParticles: return "bool";
case ID_startIndex: return "int";
case ID_startIndexRelative: return "bool";
case ID_stopIndex: return "int";
case ID_stopIndexRelative: return "bool";
case ID_stride: return "int";
case ID_indexVariable: return "variablename";
case ID_connectParticles: return "bool";
default: return "invalid index";
}
}
......@@ -631,11 +689,21 @@ PersistentParticlesAttributes::FieldsEqual(int index_, const AttributeGroup *rhs
retval = (startIndex == obj.startIndex);
}
break;
case ID_startIndexRelative:
{ // new scope
retval = (startIndexRelative == obj.startIndexRelative);
}
break;
case ID_stopIndex:
{ // new scope
retval = (stopIndex == obj.stopIndex);
}
break;
case ID_stopIndexRelative:
{ // new scope
retval = (stopIndexRelative == obj.stopIndexRelative);
}
break;
case ID_stride:
{ // new scope
retval = (stride == obj.stride);
......
......@@ -78,14 +78,18 @@ public:
// Property setting methods
void SetStartIndex(int startIndex_);
void SetStartIndexRelative(bool startIndexRelative_);
void SetStopIndex(int stopIndex_);
void SetStopIndexRelative(bool stopIndexRelative_);
void SetStride(int stride_);
void SetIndexVariable(const std::string &indexVariable_);
void SetConnectParticles(bool connectParticles_);
// Property getting methods
int GetStartIndex() const;
bool GetStartIndexRelative() const;
int GetStopIndex() const;
bool GetStopIndexRelative() const;
int GetStride() const;
const std::string &GetIndexVariable() const;
std::string &GetIndexVariable();
......@@ -106,7 +110,9 @@ public:
// IDs that can be used to identify fields in case statements
enum {
ID_startIndex = 0,
ID_startIndexRelative,
ID_stopIndex,
ID_stopIndexRelative,
ID_stride,
ID_indexVariable,
ID_connectParticles
......@@ -114,7 +120,9 @@ public:
private:
int startIndex;