Commit 94cece83 authored by David C. Lonie's avatar David C. Lonie

Add composite glyph table support to Glyph3D repr.

parent 2431fe7b
......@@ -4,6 +4,7 @@ paraview_test_load_data_dirs(""
"Iron Xdmf"
amr
ANALYZE
CompositeGlyphTree
dualSphereAnimation
ensemble-wavelet
EnSight
......@@ -33,6 +34,8 @@ paraview_test_load_data(""
can.ex2
comb.q
combxyz.bin
CompositeGlyphInput.vtp
CompositeGlyphTree.vtm
CubeStringArray.vtk
cylinder_run1.e
cylinder_run2.e
......@@ -409,6 +412,9 @@ if("${VTK_RENDERING_BACKEND}" STREQUAL "OpenGL2")
# PlotMatrixView is bugging in OpenGL1
${CMAKE_CURRENT_SOURCE_DIR}/PlotMatrixViewArraySelection.xml
# Composite Glyph Trees are only implemented in OpenGL2
${CMAKE_CURRENT_SOURCE_DIR}/CompositeGlyphTree.xml
)
endif()
......
<?xml version="1.0" ?>
<pqevents>
<pqevent object="pqClientMainWindow/menubar" command="activate" arguments="menu_File" />
<pqevent object="pqClientMainWindow/menubar/menu_File" command="activate" arguments="actionFileOpen" />
<pqevent object="pqClientMainWindow/FileOpenDialog" command="filesSelected" arguments="$PARAVIEW_DATA_ROOT/CompositeGlyphTree.vtm" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/pipelineBrowserDock/pipelineBrowser" command="mousePress" arguments="1,1,0,12,8,/0:0/0:1" />
<pqevent object="pqClientMainWindow/pipelineBrowserDock/pipelineBrowser" command="mouseRelease" arguments="1,0,0,12,8,/0:0/0:1" />
<pqevent object="pqClientMainWindow/menubar" command="activate" arguments="menu_File" />
<pqevent object="pqClientMainWindow/menubar/menu_File" command="activate" arguments="actionFileOpen" />
<pqevent object="pqClientMainWindow/FileOpenDialog" command="filesSelected" arguments="$PARAVIEW_DATA_ROOT/CompositeGlyphInput.vtp" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/variableToolbar/displayColor/Variables" command="activated" arguments="Colors" />
<pqevent object="pqClientMainWindow/representationToolbar/displayRepresentation/comboBox" command="activated" arguments="3D Glyphs" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/SearchBox/AdvancedButton" command="set_boolean" arguments="true" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/ProxyPanel/GlyphType/ProxySelectionWidget/comboBox" command="activated" arguments="Pipeline Connection" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/ProxyPanel/GlyphType/ProxySelectionWidget/frame/ChosenProxyWidget/Input/1pqPipelineInputComboBox0" command="activated" arguments="CompositeGlyphTree.vtm" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/ProxyPanel/UseGlyphTable/CheckBox" command="set_boolean" arguments="true" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/ProxyPanel/GlyphTableIndexArray/ComboBox" command="activated" arguments="GlyphIndex" />
<pqevent object="pqClientMainWindow/propertiesDock/propertiesPanel/scrollArea/qt_scrollarea_viewport/scrollAreaWidgetContents/DisplayFrame/ProxyPanel/UseCompositeGlyphTable/CheckBox" command="set_boolean" arguments="true" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewWidget/CoreWidget/qt_tabwidget_stackedwidget/MultiViewWidget1/Frame.0/actionToggleInteractionMode" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/cameraToolbar/actionNegativeZ" command="activate" arguments="" />
</pqevents>
......@@ -306,6 +306,7 @@
{ "class": "vtkMergeCells" },
{ "class": "vtkMultiBlockDataGroupFilter" },
{ "class": "vtkPassArrays" },
{ "class": "vtkPassThrough" },
{ "class": "vtkSplitColumnComponents" },
{ "class": "vtkTransformPolyDataFilter" }
],
......
......@@ -47,6 +47,8 @@ public:
virtual int ProcessViewRequest(vtkInformationRequestKey* request_type, vtkInformation* inInfo,
vtkInformation* outInfo) VTK_OVERRIDE;
virtual void MarkModified();
/**
* Toggle the visibility of the original mesh.
* If this->GetVisibility() is false, then this has no effect.
......@@ -64,12 +66,15 @@ public:
void SetMaskArray(const char* val);
void SetScaleArray(const char* val);
void SetOrientationArray(const char* val);
void SetSourceIndexArray(const char* val);
void SetScaling(bool val);
void SetScaleMode(int val);
void SetScaleFactor(double val);
void SetOrient(bool val);
void SetOrientationMode(int val);
void SetMasking(bool val);
void SetSourceIndexing(bool val);
void SetUseSourceTableTree(bool val);
//***************************************************************************
// Overridden to forward to the vtkGlyph3DMapper.
......@@ -136,6 +141,11 @@ protected:
*/
void ComputeGlyphBounds(double bounds[6]);
virtual bool IsCached(double cache_key);
vtkAlgorithm* GlyphMultiBlockMaker;
vtkPVCacheKeeper* GlyphCacheKeeper;
vtkGlyph3DMapper* GlyphMapper;
vtkGlyph3DMapper* LODGlyphMapper;
......
......@@ -193,6 +193,39 @@
</DoubleVectorProperty>
<!-- End ExtractSelectionRange -->
</SourceProxy>
<!-- ==================================================================== -->
<SourceProxy class="vtkPassThrough"
name="PipelineConnection"
label="Pipeline Connection">
<Documentation>
This proxy provides UI for selecting an existing pipeline connection.
</Documentation>
<InputProperty command="SetInputConnection"
name="Input"
panel_widget="input_selector"
null_on_empty="1"
panel_visibility="always">
<ProxyGroupDomain name="groups">
<Group name="sources" />
<Group name="filters" />
</ProxyGroupDomain>
<DataTypeDomain name="input_type">
<DataType value="vtkDataSet" />
</DataTypeDomain>
</InputProperty>
<IntVectorProperty command="SetAllowNullInput"
name="AllowNullInput"
default_values="1"
number_of_elements="1"
panel_visibility="never">
<BooleanDomain name="bool" />
<Documentation>
Allow the filter to execute successful, producing an empty polydata,
when the input is not specified.
</Documentation>
</IntVectorProperty>
<!-- End PipelineConnection -->
</SourceProxy>
<!-- End of internal_filters -->
</ProxyGroup>
<ProxyGroup name="filters">
......
......@@ -3793,6 +3793,12 @@
<Property name="GlyphType"
panel_visibility="advanced"
panel_visibility_default_for_representation="3d glyphs"/>
<Property name="UseGlyphTable"
panel_visibility="advanced"/>
<Property name="GlyphTableIndexArray"
panel_visibility="advanced"/>
<Property name="UseCompositeGlyphTable"
panel_visibility="advanced"/>
<Hints>
<PropertyWidgetDecorator type="GenericDecorator"
mode="visibility"
......@@ -4806,6 +4812,7 @@
<Documentation>Specify the source objects.</Documentation>
<DataTypeDomain name="input_type">
<DataType value="vtkPolyData" />
<DataType value="vtkDataObjectTree" />
</DataTypeDomain>
<ProxyListDomain name="proxy_list">
<Proxy group="sources" name="ArrowSource" />
......@@ -4815,6 +4822,7 @@
<Proxy group="sources" name="LineSource" />
<Proxy group="sources" name="SphereSource" />
<Proxy group="sources" name="GlyphSource2D" />
<Proxy group="internal_filters" name="PipelineConnection" />
</ProxyListDomain>
<Hints>
<ProxyPropertyWidget selected_proxy_panel_visibility="advanced" />
......@@ -4951,6 +4959,38 @@
is set and the there is no such name), masking is silently ignored. A
mask array is a vtkBitArray with only one component.</Documentation>
</IntVectorProperty>
<IntVectorProperty command="SetSourceIndexing"
default_values="0"
name="UseGlyphTable"
number_of_elements="1">
<BooleanDomain name="bool" />
<Documentation>When true, the glyph data is expected to be a multiblock
dataset, where each top-level node contains a separate glyph which may
be selected by a point data array on the input dataset.</Documentation>
</IntVectorProperty>
<StringVectorProperty command="SetSourceIndexArray"
default_values=""
name="GlyphTableIndexArray"
number_of_elements="1">
<ArrayListDomain attribute_type="Scalars"
input_domain_name="input_array_point"
name="array_list"
none_string="None">
<RequiredProperties>
<Property function="Input"
name="Input" />
</RequiredProperties>
</ArrayListDomain>
</StringVectorProperty>
<IntVectorProperty command="SetUseSourceTableTree"
default_values="0"
name="UseCompositeGlyphTable"
number_of_elements="1">
<BooleanDomain name="bool" />
<Documentation>When true, the glyph data is expected to be a multiblock
dataset, where each top-level node contains a separate glyph which may
be selected by a point data array on the input dataset.</Documentation>
</IntVectorProperty>
<!-- end of Glyph3DRepresentation -->
</RepresentationProxy>
<!-- ================================================================== -->
......
......@@ -61,10 +61,10 @@ vtkSMProxy* PROXY(const QVariant& variant)
//-----------------------------------------------------------------------------
pqPipelineInputComboBox::pqPipelineInputComboBox(
vtkSMProxy* proxy, vtkSMProperty* property, QWidget* _parent)
vtkSMProxy* proxy, vtkSMProperty* _property, QWidget* _parent)
: Superclass(_parent)
, Proxy(proxy)
, Property(property)
, Property(_property)
, UpdatePending(false)
, InOnActivate(false)
{
......
f94ed5d8ab9f1d78ed65bd5880f3ff64
798774cb3a750a4b5e515664dd5c1dd6
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment