Commit 0001a167 authored by Ken Martin's avatar Ken Martin
Browse files

fixes from the main tree

parent 6f7858b4
Data @ fcb25179
Subproject commit a01d84f5c510803f56199fa1a51e9a3044523045
Subproject commit fcb25179ab0ec4eb1a510e6d1cee0a09fc304e2e
......@@ -24,6 +24,13 @@
<DoubleRangeDomain min="0" />
</DoubleVectorProperty>
<IntVectorProperty
name="Capping"
command="SetCapping"
number_of_elements="1"
default_values="1" >
<BooleanDomain name="bool"/>
</IntVectorProperty>
<!-- End Cone -->
</SourceProxy>
</ProxyGroup>
......
......@@ -8,17 +8,18 @@
long_help="3D cone of a given radius and height."
short_help="Create a 3D cone of a given radius and height">
<Source class="vtkLocalConeSource"/>
<Scale variable="Resolution" trace_name="Resolution"
<Scale variable="Resolution" trace_name="Resolution" property="Resolution"
default_value="6" resolution="1" range="0 512"
display_entry="1" display_value="0" entry_and_label_on_top="0"
help="Set the number of faces on this cone" />
<ThumbWheel variable="Radius" trace_name="Radius"
<ThumbWheel variable="Radius" trace_name="Radius" property="Radius"
resolution="0.01" minimum_value="0" default_value="0.5"
help="Set the radius of the widget part of the cone" />
<ThumbWheel variable="Height" trace_name="Height"
<ThumbWheel variable="Height" trace_name="Height" property="Height"
resolution="0.01" minimum_value="0" default_value="1"
help="Set the height of the cone" />
<LabeledToggle variable="Capping" trace_name="Capping" default_value="1"
<LabeledToggle variable="Capping" trace_name="Capping"
property="Capping" default_value="1"
help="Set whether to draw the base of the cone" />
<Documentation>
The Cone source can be used to add a polygonal cone to the 3D scene. The Cone source has the following parameters:
......
......@@ -95,7 +95,6 @@ SET( ParaViewClient_SRCS
vtkPVDReaderModule.cxx
vtkPVDWriter.cxx
vtkPVData.cxx
vtkPVDataSetFileEntry.cxx
vtkPVDataSetReaderModule.cxx
vtkPVDisplay.cxx
vtkPVDummyWidget.cxx
......@@ -392,6 +391,7 @@ CONFIGURE_FILE(${PVGUI_SOURCE_DIR}/Client/pvTestDriverConfig.h.in
ESCAPE_QUOTES)
ADD_EXECUTABLE(pvTestDriver pvTestDriver.cxx)
ADD_DEPENDENCIES(pvTestDriver paraview)
TARGET_LINK_LIBRARIES(pvTestDriver kwsys)
IF(VTK_USE_CARBON)
......
......@@ -196,7 +196,7 @@ If the Piece invariant option is checked, the whole data set will be processed a
help="Set the input to this filter."
input_name="Input"/>
<Documentation>
The Clean to Grid filter merges points that are within a tolerance of 1/100,000 of the length of the diagonal of the bounding box of the data set. It also converts the data set to an unstructured grid. The Input menu allows the user to select the data set to which this filter will be applied. The Clean to Grid filter operates on any type of data set.
The Clean to Grid filter merges points that are within a tolerance of 1/100,000 of the length of the diagonal of the bounding box of the data set. It also converts the data set to an unstructured grid. You may wish to do this if you want to apply a filter to your data set that is available for unstructured grids but not for the initial type of your data set (e.g., applying warp vector to volumetric data). The Input menu allows the user to select the data set to which this filter will be applied. The Clean to Grid filter operates on any type of data set.
</Documentation>
</Module>
<Module name="PVConnectivityFilter"
......@@ -232,7 +232,7 @@ The Connectivity filter assigns a region id to connected components of the input
input_name="Input"/>
<ExtentEntry label="Extent to crop"
trace_name="OutputWholeExtent"
variable="OutputWholeExtent"
property="OutputWholeExtent"
input_menu="im"
help="Set the min/max extents in each dimension of the output"/>
<Documentation>
......@@ -426,6 +426,7 @@ The line can be specified interactively using the 3D line widget. See section 7.
input_name="Input"/>
<SelectCTHArrays input_menu="im"
trace_name="ArraySelection"
property="AddVolumeArrayName"
help="Select the volume fraction arrays for generating parts."/>
<SelectWidget variable="ClipPlane"
trace_name="Clipping" type="object">
......@@ -459,7 +460,7 @@ This filter only operates on unstructured data. It produces polygonal output.
help="Set the input to this filter."
input_name="Input"/>
<Documentation>
The Extract Edges filter produces a wireframe version of the input data set by extracting the edges of the data set's cells as lines. The Input menu allows the user to select the data set to which this filter will be applied. This filter operates on any type of data set and produces polygonal output.
The Extract Edges filter produces a wireframe version of the input data set by extracting all the edges of the data set's cells as lines. The Input menu allows the user to select the data set to which this filter will be applied. This filter operates on any type of data set and produces polygonal output.
</Documentation>
</Module>
<Module name="ExtractParts"
......@@ -475,6 +476,7 @@ The Extract Edges filter produces a wireframe version of the input data set by e
</Input>
</Filter>
<ExtractPartsWidget trace_name="parts"
property="InputMask"
help="Choose the parts to extract."/>
<Documentation>
The Extract Parts filter operates on any type of data, but its input reader/source/filter must have created multiple parts. The output type of this filter depends on the output type of the selected part(s). This filter is useful for operating on only a subset of the parts available from a reader, source, or filter.
......@@ -600,7 +602,7 @@ The Calculator filter is available on the Toolbar.
entry_and_label_on_top="0"
display_value="0"/>
<Documentation>
The Feature Edges filter extracts various types of edges from the input data set. Which edges are extracted depends on which check boxes are marked. The four types of edges are as follows.
The Feature Edges filter extracts various subsets of edges from the input data set. Which edges are extracted depends on which check boxes are marked. The four types of edges are as follows.
Boundary edges: line cells or edges used by only one polygon
Feature edges: edges used by two polygons whose dihedral angle > the value from the Feature angle slider
Non-manifold edges: edges used by three or more polygons
......@@ -991,7 +993,7 @@ The Part Id Scalars filter assigns a unique scalar value to each part in the inp
property="RandomMode"
help="Select whether to use random colors for the various pieces"/>
<Documentation>
The Process Id Scalars filter assigns a unique scalar value to each piece of the input according to which processor it resides on. If the Random option is selected, the unique value per piece will be chosen at random; otherwise it will match the process id. This filter operates on any type of data when ParaView is run in parallel. The output data set type is the same as that of the input.
The Process Id Scalars filter assigns a unique scalar value to each piece of the input according to which processor it resides on. If the Random option is selected, the unique value per piece will be chosen at random; otherwise it will match the process id. This filter operates on any type of data when ParaView is run in parallel. It is useful for determining whether your data is load-balanced across the processors being used. The output data set type is the same as that of the input.
</Documentation>
</Module>
<Module name="PointDataToCellData"
......@@ -1382,7 +1384,7 @@ The Triangle Strips filter converts triangles into triangle strips and lines int
class="vtkPolyData"/>
</Filter>
<Documentation>
The Subdivide filter iteratively divides each triangle in the data set into 4 new triangles. The Num. divisions slider determines the number of subdivision passes the filter will take through the data. This filter operates only on polygonal data containing triangles, so run your polygonal data through the Triangulate filter first if it is not composed of triangles. The output of this filter is also polygonal.
The Subdivide filter iteratively divides each triangle in the data set into 4 new triangles. Three new points are added per triangle -- one at the midpoint of each edge. The image below shows a triangle with the new points inserted and the appropriate edges added to form the four new triangles. The Num. divisions slider determines the number of subdivision passes the filter will take through the data. This filter operates only on polygonal data containing triangles, so run your polygonal data through the Triangulate filter first if it is not composed of triangles. The output of this filter is also polygonal.
</Documentation>
</Module>
<Module name="TempTessellatorFilter" menu_name="Tessellate" root_name="TempTessellatorFilter" module_type="Filter"
......@@ -1459,7 +1461,7 @@ The Tetrahedralize filter converts the 3D cells of any type of data set to tetra
help="Set the input to this filter."
input_name="Input"/>
<Documentation>
The Triangulate filter decomposes polygonal data into only triangles, points, and lines. It separates triangle strips and polylines into individual triangles and lines, respectively. The output is polygonal data. Some filters that take polygonal data as input require that the data be composed of triangles rather than other polygons, so passing your data through this filter first is useful in such situations.
The Triangulate filter decomposes polygonal data into only triangles, points, and lines. It separates triangle strips and polylines into individual triangles and lines, respectively. The output is polygonal data. Some filters that take polygonal data as input require that the data be composed of triangles rather than other polygons, so passing your data through this filter first is useful in such situations. You should use this filter in these cases rather than the Tetrahedralize filter because they produce different output data set types. The filters referenced require polygonal input, and the Tetrahedralize filter produces unstructured grid output.
</Documentation>
</Module>
<Module name="TransformFilter"
......@@ -1657,6 +1659,7 @@ The Warp (vector) filter translates the points of the input data set using a spe
input_name="Input"/>
<BoundsDisplay show_hide_frame="1"
label="Input Bounds"
property="InputBounds"
trace_name="Input Bounds"
input_menu="im1"/>
<SelectWidget type="object"
......@@ -1680,7 +1683,7 @@ The Warp (vector) filter translates the points of the input data set using a spe
<CutEntry label="Cut Offset Values"
trace_name="Cut Values"
initial_value="0"
input_menu="im1"
input_menu="im1" property="ContourValues"
help="List of current offset values. This can be used to create multiple cut planes/spheres with different centers. Each entry represents a new cut with center shifted by the offset value."
set_number_command="SetNumberOfContours"
set_contour_command="SetValue"/>
......@@ -1708,6 +1711,7 @@ The Cut filter takes any type of data set as input. Use the Input menu to choose
input_name="Input"/>
<BoundsDisplay show_hide_frame="1"
label="Input Bounds"
property="InputBounds"
trace_name="Input Bounds"
input_menu="im1"/>
<SelectWidget type="object"
......@@ -1861,7 +1865,7 @@ The Threshold filter extracts the portions of the input data set whose scalars l
array_menu="am"/>
<ContourEntry label="Contour Values"
trace_name="Contour Values"
array_menu="am"
array_menu="am" property="ContourValues"
set_number_command="SetNumberOfContours"
set_contour_command="SetValue"
help="List of current contour values." />
......@@ -2226,8 +2230,9 @@ This filter operates on any type of data set, provided it has point-centered vec
label="Input"
help="Set the input to this filter."
input_name="Input"/>
<ExtentEntry variable="VOI"
<ExtentEntry label="VOI"
trace_name="VOI"
property="VOI"
input_menu="im"
help="Set the min/max values of the volume of interest (VOI). The output will have the (I,J,K) extent specified here."/>
<ContainerWidget pack_direction="left" trace_name="SampleRate">
......
......@@ -158,8 +158,8 @@
<Item name="big endian" value="0"/>
<Item name="little endian" value="1"/>
</SelectionList>
<SelectTimeSet label="Select time value"
trace_name="TimeSet" set_command="SetTimeValue"/>
<SelectTimeSet label="Select time value" property="SetTimeValue"
trace_name="TimeSet"/>
<ArraySelection attribute_name="Point"
trace_name="PointArrays"/>
<ArraySelection attribute_name="Cell"
......@@ -263,13 +263,6 @@
file_description="Stereo Lithography">
<Source class="vtkSTLReader"/>
</Module>
<Module name="byureader"
class="vtkPVReaderModule" root_name="BYU"
module_type="Reader"
extensions=".g"
file_description="BYU Files">
<Source class="vtkBYUReader"/>
</Module>
<Module name="gaussiancubereader"
class="vtkPVAdvancedReaderModule"
root_name="GaussianCube"
......@@ -314,7 +307,7 @@
<Source class="vtkPVEnSightMasterServerReader"/>
<SelectTimeSet label="Select time value"
trace_name="TimeSet"
set_command="SetTimeValue"/>
property="SetTimeValue"/>
<ArraySelection attribute_name="Point"
trace_name="PointArrays"/>
<ArraySelection attribute_name="Cell"
......@@ -499,6 +492,14 @@
trace_name="global_file_ids"
help="Select whether the reader generates cell based disk file ids"/>
</Module>
#else
<Module name="byureader"
class="vtkPVReaderModule" root_name="BYU"
module_type="Reader"
extensions=".g"
file_description="BYU Files">
<Source class="vtkBYUReader"/>
</Module>
#endif
#ifdef PARAVIEW_USE_SAF
<Module name="SAFReader"
......
......@@ -114,7 +114,7 @@ The output of the 3D Text source is polygonal data.
entry_and_label_on_top="0"
display_value="0"/>
<Documentation>
The Arrow source appends a cylinder to a cone to form an arrow. The parameters for the Arrow source are as follows.
The Arrow source appends a cylinder to a cone to form a 3D arrow. The parameters for the Arrow source are as follows.
Tip resolution: Set the number of faces in the representation of the tip of the arrow (the cone). As the resolution increases, the cone will become smoother. The default value is 6.
Tip radius: Specify the radius of the tip of the arrow (the cone). The length of the whole arrow is 1.0 unit. The default value is 0.1 units.
Tip length: Specify the length of the tip. The value ranges between 0.0 units and 1.0 unit (the length of the whole arrow). The default is 0.35 units.
......@@ -307,7 +307,7 @@ The output of the Mandelbrot source is image (uniform rectilinear) data.
trace_name="RandomSeed"
type="int"
help="Initializes the random number generator." />
<LabeledToggle label="ShowSolution" property="ShowSolution"
<LabeledToggle label="Show Solution" property="ShowSolution"
trace_name="ShowSolution"
help="Show the solution path." />
<Documentation>
......@@ -317,7 +317,7 @@ Y Size: Specify the size of the maze in the Y dimension. The default value is 20
Run Factor: This value, which must be at least 2, determines the length of each run (straight segment) of the maze. The default value is 20.
Magnet Factor: This value, which must greater than 0, determines how the path through the maze turns. With a value of 1, all directions have an equal probability of being chosen. Larger values tend to choose paths that lie next to existing paths, creating longer runs and more interesting mazes. The default value is 4.
Random Seed: This value is used in determining the final maze. The default value is 111.
Show Resolution: This check box toggles the visibility of the maze's solution. By default it is off.
Show Solution: This check box toggles the visibility of the maze's solution. By default it is off.
The output of the Maze source is polygonal data.
</Documentation>
</Module>
......@@ -452,8 +452,8 @@ Theta resolution: This number represents the number of divisions in the theta (l
Phi resolution: This number represents the number of divisions in the phi (latitudinal) direction. The default Phi Resolution value is 16. This number will be rounded to the nearest multiple of 4.
Thickness: If the Toroidal box is checked, this value represents the thickness of the object as a value between 0 and 1. A value close to 0 leads to a thin object with a large hole, and a value near 1 leads to a thick object with a very small hole.
Theta roundness: Define the roundness in the theta (longitudinal) direction. A value of 0 represents a rectangular shape, a value of 1 represents a circular shape, and values greater than 1 produce higher order shapes. The default value is 1.
Phi roundness: Define the roundness in the theta (latitudinal) direction. A value of 0 represents a rectangular shape, a value of 1 represents a circular shape, and values greater than 1 produce higher order shapes. The default value is 1.
Size: This value represents an isotropic size of the superquadric. By default it is 0.5. Note that the Size and Thickness parameters control coefficients of superquadric generation, so the Size value may not exactly describe the size of the superquadric.
Phi roundness: Define the roundness in the phi (latitudinal) direction. A value of 0 represents a rectangular shape, a value of 1 represents a circular shape, and values greater than 1 produce higher order shapes. The default value is 1.
Size: This value represents an isotropic size of the superquadric. By default it is 0.5. Note that both the Size and Thickness parameters control coefficients of superquadric generation, so the Size value may not exactly describe the size of the superquadric.
Toroidal: If this box is not checked (the default), the generated superquadric will not contain a hole. If checked, a toroidal object is generated.
The output of the Superquadric source is polygonal data with point normals and texture coordinates defined.
</Documentation>
......
......@@ -37,6 +37,7 @@ pvTestDriver::pvTestDriver()
this->TimeOut = 300;
this->TestRenderServer = 0;
this->TestServer = 0;
this->ReverseConnection = 0;
}
// now implement the pvTestDriver class
......@@ -128,6 +129,13 @@ int pvTestDriver::ProcessCommandLine(int argc, char* argv[])
this->TestServer = 1;
fprintf(stderr, "Test Render Server.\n");
}
if(strcmp(argv[index], "--test-r2d") == 0)
{
this->ArgStart = index+1;
this->TestRenderServer = 2;
this->TestServer = 1;
fprintf(stderr, "Test Render Server.\n");
}
if(strcmp(argv[index], "--test-server") == 0)
{
this->ArgStart = index+1;
......@@ -144,6 +152,12 @@ int pvTestDriver::ProcessCommandLine(int argc, char* argv[])
int i;
for(i =1; i < argc - 1; ++i)
{
if(strcmp(argv[i], "--test-rc") == 0)
{
this->ArgStart = i+1;
this->ReverseConnection = 1;
fprintf(stderr, "Test reverse connection.\n");
}
if(strcmp(argv[i], "--timeout") == 0)
{
this->ArgStart = i+2;
......@@ -188,12 +202,15 @@ pvTestDriver::CreateCommandLine(kwsys_stl::vector<const char*>& commandLine,
{
commandLine.push_back(paraviewFlags);
}
if(this->ReverseConnection)
{
commandLine.push_back("-rc");
}
for(int ii = argStart; ii < argCount; ++ii)
{
commandLine.push_back(argv[ii]);
}
for(unsigned int i = 0; i < this->MPIPostFlags.size(); ++i)
{
commandLine.push_back(MPIPostFlags[i].c_str());
......@@ -349,8 +366,15 @@ int pvTestDriver::Main(int argc, char* argv[])
vtkstd::string clientFlag;
if(renderServer)
{
if(this->TestRenderServer == 2)
{
clientFlag = "-r2d";
}
else
{
clientFlag = "--client-render-server";
}
}
else
{
if(server)
......@@ -376,6 +400,31 @@ int pvTestDriver::Main(int argc, char* argv[])
{
kwsysProcess_SetTimeout(server, this->TimeOut);
}
if(renderServer)
{
kwsysProcess_SetTimeout(renderServer, this->TimeOut);
}
if(this->ReverseConnection)
{
if(!this->StartServer(client, "Client reverse ",
ClientStdOut, ClientStdErr))
{
cerr << "pvTestDriver: Reverse connection client never started.\n";
return -1;
}
// Now run the server
if(server)
{
kwsysProcess_Execute(server);
}
// Now run the render server
if(renderServer)
{
kwsysProcess_Execute(renderServer);
}
}
else
{
// Start the render server if there is one
if(!this->StartServer(renderServer, "Render Server",
RenderServerStdOut, RenderServerStdErr))
......@@ -392,6 +441,7 @@ int pvTestDriver::Main(int argc, char* argv[])
}
// Now run the client
kwsysProcess_Execute(client);
}
// Report the output of the processes.
int clientPipe = 1;
......
......@@ -72,6 +72,7 @@ private:
int TestServer;
int ArgStart;
int AllowErrorInOutput;
int ReverseConnection;
};
#endif
......
......@@ -182,7 +182,7 @@ public:
//-----------------------------------------------------------------------------
vtkStandardNewMacro(vtkPVAnimationInterface);
vtkCxxRevisionMacro(vtkPVAnimationInterface, "1.135");
vtkCxxRevisionMacro(vtkPVAnimationInterface, "1.135.2.1");
vtkCxxSetObjectMacro(vtkPVAnimationInterface,ControlledWidget, vtkPVWidget);
......@@ -960,7 +960,7 @@ void vtkPVAnimationInterface::SetCurrentTime(int time, int trace)
else if (smProp && smDomain)
{
this->Script(entry->GetTimeEquation());
smDomain->SetAnimationValue(smProp, 0,
smDomain->SetAnimationValue(smProp, entry->GetAnimationElement(),
vtkKWObject::GetFloatResult(pvApp));
if (entry->GetPVSource() && entry->GetPVSource()->GetProxy())
{
......@@ -1004,6 +1004,7 @@ void vtkPVAnimationInterface::SetCurrentTime(int time, int trace)
vtkPVAnimationInterfaceEntry::SafeDownCast(it->GetObject());
if (entry->GetPVSource())
{
entry->GetPVSource()->SetAcceptButtonColorToModified();
entry->GetPVSource()->AcceptCallback();
vtkKWMenu *menu = entry->GetPVSource()->GetPVWindow()->GetMenuView();
menu->CheckRadioButton(menu, "Radio", VTK_PV_ANIMATION_MENU_INDEX);
......@@ -1578,7 +1579,7 @@ void vtkPVAnimationInterface::SaveGeometry(const char* fileName,
<< "GetErrorCode"
<< vtkClientServerStream::End;
pm->SendStream(vtkProcessModule::DATA_SERVER);
pm->GetLastServerResult().GetArgument(0, 0, &retVal);
pm->GetLastResult(vtkProcessModule::DATA_SERVER_ROOT).GetArgument(0, 0, &retVal);
if (retVal == vtkErrorCode::OutOfDiskSpaceError)
{
success = 0;
......@@ -1600,7 +1601,7 @@ void vtkPVAnimationInterface::SaveGeometry(const char* fileName,
<< "GetErrorCode"
<< vtkClientServerStream::End;
pm->SendStream(vtkProcessModule::DATA_SERVER);
pm->GetLastServerResult().GetArgument(0, 0, &retVal);
pm->GetLastResult(vtkProcessModule::DATA_SERVER_ROOT).GetArgument(0, 0, &retVal);
if (retVal == vtkErrorCode::OutOfDiskSpaceError)
{
vtkKWMessageDialog::PopupMessage(
......
......@@ -76,12 +76,10 @@ public:
//-----------------------------------------------------------------------------
vtkStandardNewMacro(vtkPVAnimationInterfaceEntry);
vtkCxxRevisionMacro(vtkPVAnimationInterfaceEntry, "1.40");
vtkCxxRevisionMacro(vtkPVAnimationInterfaceEntry, "1.40.2.1");
vtkCxxSetObjectMacro(vtkPVAnimationInterfaceEntry, CurrentProperty,
vtkPVWidgetProperty);
vtkCxxSetObjectMacro(vtkPVAnimationInterfaceEntry, CurrentSMProperty,
vtkSMProperty);
vtkCxxSetObjectMacro(vtkPVAnimationInterfaceEntry, CurrentSMDomain,
vtkSMDomain);
......@@ -117,6 +115,7 @@ vtkPVAnimationInterfaceEntry::vtkPVAnimationInterfaceEntry()
this->TraceName = 0;
this->TimeStart = 0;
this->TimeEnd = 100;
this->AnimationElement = 0;
this->TimeEquationStyle = 0;
this->TimeEquationPhase = 0.;
this->TimeEquationFrequency = 1.;
......@@ -1028,6 +1027,44 @@ void vtkPVAnimationInterfaceEntry::MarkScriptEditorDirty()
}
//-----------------------------------------------------------------------------
void vtkPVAnimationInterfaceEntry::SetCurrentSMProperty(vtkSMProperty *prop)
{
if (prop != this->CurrentSMProperty)
{
if (this->CurrentSMProperty)
{
this->CurrentSMProperty->UnRegister(this);
}
this->CurrentSMProperty = prop;
if (this->CurrentSMProperty)
{
this->CurrentSMProperty->Register(this);
vtkPVApplication *app = this->GetPVApplication();
if (app)
{
app->GetRenderModule()->InvalidateAllGeometries();
}
}
this->Modified();
}
}
//-----------------------------------------------------------------------------
void vtkPVAnimationInterfaceEntry::SetAnimationElement(int elem)
{
if (elem != this->AnimationElement)
{
this->AnimationElement = elem;
vtkPVApplication *app = this->GetPVApplication();
if (app)
{
app->GetRenderModule()->InvalidateAllGeometries();
}
this->Modified();
}
}
//-----------------------------------------------------------------------------
void vtkPVAnimationInterfaceEntry::SetCustomScript(const char* script)
{
......@@ -1288,4 +1325,6 @@ void vtkPVAnimationInterfaceEntry::PrintSelf(ostream& os, vtkIndent indent)
os << indent << "CurrentSMDomain: " << this->CurrentSMDomain << endl;
os << indent << "CustomScript: " << this->CustomScript << endl;
os << indent << "AnimationElement: " << this->AnimationElement << endl;
}
......@@ -89,6 +89,9 @@ public:
vtkGetMacro(TimeStart, float);
vtkGetMacro(TimeEnd, float);
void SetAnimationElement(int elem);
vtkGetMacro(AnimationElement, int);
void SetTimeEquationStyle( int s );
void SetTimeEquationPhase( float p );
void SetTimeEquationFrequency( float f );
......@@ -249,6 +252,8 @@ protected:
float TimeStart;
float TimeEnd;
int AnimationElement;
int TimeEquationStyle;
float TimeEquationPhase;
float TimeEquationFrequency;
......
......@@ -111,7 +111,7 @@
//----------------------------------------------------------------------------
vtkStandardNewMacro(vtkPVApplication);
vtkCxxRevisionMacro(vtkPVApplication, "1.297");
vtkCxxRevisionMacro(vtkPVApplication, "1.297.2.1");
vtkCxxSetObjectMacro(vtkPVApplication, RenderModule, vtkPVRenderModule);
......@@ -511,6 +511,10 @@ vtkPVApplication::vtkPVApplication()
//----------------------------------------------------------------------------
vtkPVApplication::~vtkPVApplication()
{
// Remove the ParaView output window so errors during exit will
// still be displayed.
vtkOutputWindow::SetInstance(0);
this->SetProcessModule(NULL);
this->SetRenderModule(NULL);
this->SetRenderModuleName(NULL);
......@@ -1863,9 +1867,6 @@ void vtkPVApplication::Exit()
}
}
// Remove the ParaView output window so errors during exit will
// still be displayed.
vtkOutputWindow::SetInstance(0);
this->vtkKWApplication::Exit();
......@@ -2287,12 +2288,6 @@ int vtkPVApplication::GetNumberOfPartitions()
return this->GetProcessModule()->GetNumberOfPartitions();
}
//----------------------------------------------------------------------------
void vtkPVApplication::SendStringToClientAndServer(const char* str)
{
this->GetProcessModule()->SendStringToClientAndServer(str);
}
//----------------------------------------------------------------------------
void vtkPVApplication::ExecuteEvent(vtkObject *o, unsigned long event, void* calldata)
{
......@@ -2332,7 +2327,7 @@ void vtkPVApplication::PlayDemo(int fromDashboard)
<< pm->GetProcessModuleID() << "GetDemoPath"
<< vtkClientServerStream::End;
pm->SendStream(vtkProcessModule::DATA_SERVER_ROOT);
if(!pm->GetLastServerResult().GetArgument(0, 0, &demoDataPath))
if(!pm->GetLastResult(vtkProcessModule::DATA_SERVER_ROOT).GetArgument(0, 0, &demoDataPath))
{
demoDataPath = 0;
}
......@@ -2444,3 +2439,71 @@ int vtkPVApplication::GetGlobalLODFlag()
return vtkPVProcessModule::GetGlobalLODFlag();
}
//----------------------------------------------------------------------------
int vtkPVApplication::SendStringToClient(const char* str)
{
if(!this->ProcessModule->GetStream().StreamFromString(str))
{
return 0;
}
this->ProcessModule->SendStream(vtkProcessModule::CLIENT);
return 1;
}
//----------------------------------------------------------------------------
int vtkPVApplication::SendStringToClientAndServer(const char* str)
{
if(!this->ProcessModule->GetStream().StreamFromString(str))
{
return 0;
}
this->ProcessModule->SendStream(vtkProcessModule::CLIENT |
vtkProcessModule::DATA_SERVER);
return 1;
}
//----------------------------------------------------------------------------
int vtkPVApplication::SendStringToClientAndServerRoot(const char* str)
{
if(!this->ProcessModule->GetStream().StreamFromString(str))
{
return 0;
}
this->ProcessModule->SendStream(vtkProcessModule::CLIENT |
vtkProcessModule::DATA_SERVER_ROOT);
return 1;
}
//----------------------------------------------------------------------------
int vtkPVApplication::SendStringToServer(const char* str)
{
if(!this->ProcessModule->GetStream().StreamFromString(str))
{
return 0;
}
this->ProcessModule->SendStream(vtkProcessModule::DATA_SERVER);
return 1;
}
//----------------------------------------------------------------------------
int vtkPVApplication::SendStringToServerRoot(const char* str)
{
if(!this->ProcessModule->GetStream().StreamFromString(str))
{
return 0;
}