Commit aece2771 authored by hrchilds's avatar hrchilds

Update from August 18, 2005

git-svn-id: 18c085ea-50e0-402c-830e-de6fd14e8384
parent 9d321885
......@@ -811,9 +811,9 @@ env command for configure.
# Build and install it in the visit directory.
gunzip visit050718.tar.gz
tar xf visit050718.tar
cd visit050718/config-site
gunzip visit050829.tar.gz
tar xf visit050829.tar
cd visit050829/config-site
echo VISITHOME=$VISITDIR > `hostname`.conf
sed "s/ARCH/$VISITARCH/" Template.conf >> `hostname`.conf
cd ..
......@@ -822,12 +822,14 @@ make
# Use the appropriate install command based on the operating system on
# which you built VisIt.
clearcase_bin/visit-install 1.4.4 aix $VISITDIR
clearcase_bin/visit-install 1.4.4 irix6 $VISITDIR
clearcase_bin/visit-install 1.4.4 linux $VISITDIR
clearcase_bin/visit-install 1.4.4 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.4.4 osf1 $VISITDIR
clearcase_bin/visit-install 1.4.4 sunos5 $VISITDIR
clearcase_bin/visit-install 1.4.5 aix $VISITDIR
clearcase_bin/visit-install 1.4.5 darwin $VISITDIR
clearcase_bin/visit-install 1.4.5 irix6 $VISITDIR
clearcase_bin/visit-install 1.4.5 linux $VISITDIR
clearcase_bin/visit-install 1.4.5 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.4.5 linux-x86_64 $VISITDIR
clearcase_bin/visit-install 1.4.5 osf1 $VISITDIR
clearcase_bin/visit-install 1.4.5 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
......@@ -172,9 +172,9 @@ take this opportunity to unzip VisIt's source code distribution and set an
environment variable that will be used to identify VisIt's source code
gunzip visit050718.tar.gz
tar xf visit050718.tar
setenv VISITSOURCE `pwd`/visit050718
gunzip visit050829.tar.gz
tar xf visit050829.tar
setenv VISITSOURCE `pwd`/visit050829
Building Qt as a set of prebound dynamic libraries
......@@ -835,9 +835,9 @@ More information about building VisIt follows after that.
# Unzipping VisIt's source code distribution
gunzip visit050718.tar.gz
tar xf visit050718.tar
cd visit050718
gunzip visit050829.tar.gz
tar xf visit050829.tar
cd visit050829
# HDF5 and Silo
......@@ -17,7 +17,7 @@ Unix and Mac OS X:
"version" will be 1.4.4 for the current distribution.
"version" will be 1.4.5 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.4 irix6 /usr/local/visit
visit-install 1.4.5 irix6 /usr/local/visit
will install the irix6, 1.4.4 version of visit in the directory
will install the irix6, 1.4.5 version of visit in the directory
"/usr/local/visit". Note that you will need to have the file
"visit1_4_4.irix6.tar.gz" present in the current directory for this
"visit1_4_5.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.4 linux /usr/local/visit
visit-install 1.4.5 linux /usr/local/visit
to add a linux, 1.4.4 version of visit to the same directory.
to add a linux, 1.4.5 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:
1. Copy the file visit1.4.4.exe to your desktop.
1. Copy the file visit1.4.5.exe to your desktop.
2. Double click on the visit1.4.4.exe icon to run the installer.
2. Double click on the visit1.4.5.exe icon to run the installer.
3. Follow the directions provided by the installer.
......@@ -249,7 +249,7 @@ 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
env CXXFLAGS=-O2 ./configure --enable-parallel >> ../buildlog 2>&1
make -j 4 >> ../buildlog 2>&1
clearcase_bin/visit-bin-dist >> ../buildlog 2>&1
mv visit\$ver2.linux.tar.gz ..
......@@ -50,7 +50,7 @@ esac
# Parse the execute line, providing default values for error checking.
......@@ -72,7 +72,7 @@ for abc
case $1 in
......@@ -83,12 +83,12 @@ do
......@@ -196,15 +196,20 @@ ver2=`echo $ver | tr "." "_"`
ver=`echo $ver2 | tr "_" "."`
# Install on kickit.
# Copy visit from kickit.
rm -f kickit
cat <<EOF > kickit
scp kickit:/var/tmp/$user/kickit/visitbuild/visit$ver2.linux.tar.gz visit$ver2.linux_rh71.tar.gz
# Install on hoth.
rm -f hoth
cat <<EOF > hoth
./visit-install -r -private -c open -g visit -gw -l $ver linux /usr/gapps/visit > installlog 2>&1
./visit-install -r -private -c open -g visit -gw -l $ver linux_rhel3 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo " install of visit on kickit" > resultlog 2>&1
echo " ----------------------------" >> resultlog 2>&1
echo " install of visit on hoth" > resultlog 2>&1
echo " --------------------------" >> resultlog 2>&1
echo "" >> resultlog 2>&1
df -k /usr/gapps/visit >> resultlog 2>&1
echo "" >> resultlog 2>&1
......@@ -219,15 +224,15 @@ ls /usr/gapps/visit/$ver/linux-intel/plugins/databases/libI* | sed "s/\/usr\/gap
mail $emailName < resultlog
if [ $kickit = true ]
if [ $hoth = true ]
if [ $test = no ]
scp kickit:/var/tmp/$user/kickit/visitbuild/visit$ver2.linux.tar.gz .
scp visit$ver2.linux.tar.gz kickit:
scp hoth:/var/tmp/$user/hoth/visitbuild/visit$ver2.linux.tar.gz visit_$ver2.linux_rhel3.tar.gz
scp visit$ver2.linux_rhel3.tar.gz kickit:
scp visit-install kickit:
scp kickit kickit:kickit_install
ssh kickit "chmod 750 kickit_install;./kickit_install"
scp hoth kickit:hoth_install
ssh kickit "chmod 750 hoth_install;./hoth_install"
......@@ -418,7 +423,7 @@ fi
rm -f pengra
cat <<EOF > pengra
./visit-install $verflag -c open -g visit -gw -l $ver linux /usr/gapps/visit > installlog 2>&1
./visit-install $verflag -c open -g visit -gw -l $ver linux_chaos /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo " install of visit on pengra" > resultlog 2>&1
echo " ----------------------------" >> resultlog 2>&1
......@@ -441,7 +446,7 @@ then
if [ $test = no ]
scp pengra1:/usr/tmp/brugger/pengra/visitbuild/visit$ver2.linux.tar.gz visit$ver2.linux_chaos.tar.gz
scp visit$ver2.linux_chaos.tar.gz gps15:visit$ver2.linux.tar.gz
scp visit$ver2.linux_chaos.tar.gz gps15:
scp visit-install gps15:
scp pengra gps15:pengra_install
ssh gps15 "chmod 750 pengra_install;./pengra_install"
......@@ -454,7 +459,7 @@ fi
rm -f alc
cat <<EOF > alc
./visit-install -r -private -c open -g visit -gw -l $ver linux /usr/gapps/visit > installlog 2>&1
./visit-install -r -private -c open -g visit -gw -l $ver linux_chaos /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo " install of visit on alc" > resultlog 2>&1
echo " -------------------------" >> resultlog 2>&1
......@@ -477,7 +482,7 @@ then
if [ $test = no ]
scp pengra1:/usr/tmp/brugger/pengra/visitbuild/visit$ver2.linux.tar.gz visit$ver2.linux_chaos.tar.gz
scp visit$ver2.linux_chaos.tar.gz alc0:visit$ver2.linux.tar.gz
scp visit$ver2.linux_chaos.tar.gz alc0:
scp visit-install alc0:
scp alc alc0:alc_install
ssh alc0 "chmod 750 alc_install;./alc_install"
......@@ -533,5 +538,5 @@ fi
if [ $test = no ]
rm -f kickit sunspot hyper gps berg up pengra alc thunder
rm -f hoth sunspot hyper gps berg up pengra alc thunder
......@@ -78,6 +78,14 @@ CellReconstructor::~CellReconstructor()
// Jeremy Meredith, Thu Jun 24 10:38:05 PDT 2004
// Added Voxel and Pixel input shapes.
// Jeremy Meredith, Thu Aug 18 13:27:25 PDT 2005
// There was a test for a "real clean" zone that assumed the material
// that wound up being clean would always have a positive (clean) entry
// in the original matlist array. It turns out that occasionally there
// will be cells marked as mixed (negative) in the matlist array where
// all but one material have zero mix_vf's. I changed the test slightly
// to account for this.
// ****************************************************************************
CellReconstructor::ReconstructCell(int cellid_, int celltype_,
......@@ -120,7 +128,7 @@ CellReconstructor::ReconstructCell(int cellid_, int celltype_,
// of 0.0, so we don't have to worry about other
// materials intersecting with this one. In other words,
// these are the "real clean zones".
if (nm==1 && matno!=mat->GetMatlist()[cellid])
if (nm==1 && allZeros)
if (allZeros && nextOneAllZeros)
......@@ -49,6 +49,10 @@ using std::vector;
// Hank Childs, Sun Feb 13 13:28:52 PST 2005
// Fix a bad test that assumes mixlen is > 0.
// Jeremy Meredith, Thu Aug 18 13:25:06 PDT 2005
// Fixed a test that compared a negative 1-origin matlist entry into the
// mix array with mixlen in a way that assumed the entry was 0-origin.
// ****************************************************************************
static void
RenumberMaterialsZeroToNminusOne(int nMats, const int *const mats,
......@@ -95,12 +99,12 @@ RenumberMaterialsZeroToNminusOne(int nMats, const int *const mats,
// If we have a valid index into the mixed portion, tag it and
// skip along to the next zone.
if ((ml[i] < 0) && (ml[i] > -mixl))
if ((ml[i] < 0) && (ml[i] >= -mixl))
newml[i] = ml[i];
else if (ml[i] < 0 && ml[i] <= -mixl)
else if (ml[i] < 0 && ml[i] < -mixl)
newml[i] = nMats;
if (!haveIssuedWarning)
## Set the VISITHOME environment variable.
## If MESA is not set, use VisIt's mesa.
if test -z "$MESA"; then
## If VTK is not set, use VisIt's vtk.
if test -z "$VTK"; then
## If QT is not set, use VisIt's Qt.
if test -z "$QT_BIN"; then
if test -z "$QT_INCLUDE"; then
if test -z "$QT_LIB"; then
## Use VisIt's Python.
## Turn off warnings for deprecated features.
CXXFLAGS="-Wno-deprecated $CXXFLAGS"
## Add parallel arguments.
LDFLAGS="-L/misc/gapps/mpich/1.2.4/Linux/serial/64/debug/lib $LDFLAGS"
CPPFLAGS="-I/misc/gapps/mpich/1.2.4/Linux/serial/64/debug/include $CPPFLAGS"
## Database reader plugin support libraries
## Boxlib
## Exodus
## HDF4
## HDF5
## Mili
## Silo
## ViSUS
......@@ -70,6 +70,8 @@ enhancements and bug-fixes that were added to this release.</p>
<li>Pick letters are not visible with an opaque Mesh plot of Boxlib data.</li>
<li>Node pick query over time for expression in Mili file fails.</li>
<p>Click the following link to view the release notes for the next version
of VisIt: <a href="relnotes1.4.5.html">VisIt 1.4.5 Release Notes</a>.</p>
<p>Click the following link to view the release notes for the previous version
of VisIt: <a href="relnotes1.4.3.html">VisIt 1.4.3 Release Notes</a>.</p>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>VisIt 1.4.5 Release Notes</title>
<center><b><font size="6">VisIt 1.4.5 Release Notes</font></b></center>
<p>Welcome to VisIt's release notes page. This page describes the important
enhancements and bug-fixes that were added to this release.</p>
<p><b><font size="4">Features added in version 1.4.5</font></b></p>
<li>VisIt's material interface reconstruction algorithm has been improved so that it can optionally simplify the number of materials in a zone. This option, called <i>"Simplify heavily mixed zones"</i>, reduces memory consumption by a factor of 3 to 4 when there are many materials in a zone. The new simplification mode is not turned on by default. If you suspect that VisIt is running out of memory during material interface reconstruction (if you have trouble going to new time states when plotting a FilledBoundary plot) then you can enable the new mode by opening the <b>Material
Options</b> window and clicking on the <b>Simplify heavily mixed zones</b> check box. The new simplification mode works by keeping N materials that have the highest volume fractions. The number of materials kept is user-specified in the <b>Material
Options</b> window. Pick and other Queries will still return information about all of the the original materials in their output.</li>
<li>VisIt now supports array variables, which are N-component vector variables where the size of N can vary. Array variables can be read in by database reader plugins or they can also be created using the new <i>array_compose</i> expression, which takes a list of
scalar variables and unites them into an array variable (e.g. <i>array_compose(density, pressure, speed, temperature)</i>). The resulting array variable can then be plotted by the Label plot, allowing you to use a single label plot to inspect multiple variables simultaneously.</li>
<li>VisIt has several new operator plugins: <i>Decimate</i>, <i>Smooth</i>, <i>Merge</i>, and <i>Resample</i>. The Decimate operator can simplify meshes. The Smooth operator smooths out data values. The Merge operator merges multiple domains, etc into a single dataset that can be processed better by the Smooth operator. The Resample operator samples a dataset in each of its dimensions to extract a user-specified number of samples that are combined into a single,
simplified, rectilinear dataset.
<br><br>Each of the new operators is built and installed by default but they are not enabled by default. To make VisIt load these operator plugins, open the <b>Plugin manager</b> window, turn on the desired operators, save your settings, and restart VisIt.
<li>VisIt's Label plot has been enhanced in several ways:
<li>The Label plot can now optionally perform depth testing to eliminate labels that should not be visible when plotting 3D labels. Whether depth testing is necessary is automatically determined by default. VisIt may indicate that depth testing needs to be done but was not done because you are running on a remote display. You can make the Label plot always do depth testing by setting the <b>Depth testing mode</b> to <b>Always</b>.</li>
<li>The Label plot has been enhanced so it can plot Tensor and Array variables.</li>
<li>The Label plot has been enhanced so it can plot Material and Subset variables, allowing you to label a plot with material names, domain numbers, group numbers, patch names, level names, etc.</li>
<li>The Label plot has been enhanced so you can specify different cell or node colors and text sizes when you plot a mesh and opt to display both cells and nodes. The additional controls for setting colors and text height are only available
in the <b>Label plot attributes</b> window when you plot a mesh with the Label plot.</li>
<li><i>The single zone/node options were removed from the Label plot in favor of requiring the OnionPeel or IndexSelect operators to be applied instead.</i></li>
<li>VisIt can now pick on point meshes that have no glyphs applied to them. Pick returns information for the point closest to where you clicked in the vis window.</li>
<li>VisIt's default point glyph mode has been changed from <i>Box</i> to <i>Points</i> so point meshes will no longer have glyphs applied by default. The result is that point meshes will be drawn as points with a pixel size of 2, making rendering of point meshes much faster. This change will not override your saved settings. If you would
like to apply glyphs to your point meshes, you can still do so by selecting an
alternate glyph type in the plot attribute windows for plots that can render point meshes.</li>
<li>Several of VisIt's plot attribute windows have been modified so you can set the pixel size for points meshes that are rendered as points. The <b>Point size</b> text field in those windows has been enhanced so it
shows as <b>Point size (pixels)</b> when you are rendering point meshes as points. When the text field displays as <b>Point size (pixels)</b>, you can type in a new pixel size for your point mesh's points.</li>
<li>VisIt now supports some image processing expressions: <i>mean</i>, <i>median</i>, and <i>conservative_smooth</i>. All of these expressions are for
reducing so-called <i>"salt-and-pepper"</i> noise, which is common in CT data.</li>
<li>VisIt has a new database plugin called Xmdv that can read and write array
variables&nbsp; to a text file. The Xmdv reader can be used in conjunction with <i>Export database</i> to export data derived from expressions to text files for processing in other applications.</li>
<li>VisIt has a new database reader plugin that can read a subset of PATRAN neutral data files. Specifically, the mesh and materials can be read in and plotted.</li>
<li>VisIt has a new database reader plugin that can read a subset of NASTRAN Bulk data files. The new reader can read in the mesh contained in the Bulk data file format provided it uses any of the following keywords: <i>GRID</i>,<i>GRID*</i>,<i>CHEXA</i>,<i>CTETRA</i>,<i>CPYRAM</i>,<i>CPENTA</i>,<i>CQUAD4</i>,<i>CTRIA2</i>,<i>CTRIA3</i>,<i>CBAR</i>. If you are interested in improving this reader so it can read the NASTRAN results file or if you have data to contribute, please contact <i></i>.</li>
<li>VisIt's Box operator now uses interval trees so it reduces the number of subsets that must be processed. For example, this enhancement makes the Box operator more efficient when reading Enzo databases since the number of patches that are read and processed decreases.</li>
<li>VisIt's <b>Annotation</b> window has been enhanced so it provides text fields on both the <b>2D</b> and <b>3D</b> tabs that allow you to specify axis titles and units.</li>
<li>VisIt's <i>curl</i> expression now supports 2D data.</li>
<li>VisIt now has host profiles for LLNL's <i>up</i> and <i>pu</i> computers.</li>
<li>VisIt now supports <i>Kurtosis</i> and <i>Skewness</i> queries.</li>
<li>VisIt now supports a <i>Spherical compactness factor</i> query that calculates the volume of an object and creates a sphere located at the object's centroid that has the same volume, and then reports the percentage of the object's volume that lies with the sphere's volume.</li>
<li>VisIt's VTK database reader plugin has been enhanced so it can correctly read char data from VTK files.</li>
<li>VisIt's TrueColor plot, which can display images using their correct colors, is now built and installed by default.
The TrueColor plot is useful for plotting experimental data next to simulated
data or for other purposes such as including maps in a visualization.</li>
<li>VisIt's TrueColor plot has been enhanced so there is now an option to turn off lighting.</li>
<li>The Scatter plot now scales all domains using the global extents when the <b>Scale to cube</b> check box is turned on. This means that the points from all domains are where they should be instead of possibly occupying different spaces.</li>
<li>VisIt's CLI has two new methods that influence whether query output is printed to the console. The new methods are: <i>SuppressQueryOutputOn()</i> and <i>SuppressQueryOutputOff()</i>.</li>
<li>VisIt now has an <i>"auto-fullframe"</i> mode that can be used to make VisIt enter fullframe mode when plotting 2D datasets that have very high aspect ratios. This improves plotting of LEOS data tremendously because no Transform operator is required to make the plots presentable.</li>
<li>The <b>View</b> window has been enhanced so the tab that matches the dimension of the vis window is enabled by default.</li>
<li>The <i>"visit -movie"</i> script now saves out RGB files instead of TIFF images so the <i>img2sm</i> program will work on the SGI plaform, which sometimes has a faulty TIFF library.</li>
<li>VisIt can now be built as a 64-bit binary using xlC.</li>
<li>Information about using VisIt's command line <i>-stereo</i> flag has been added to <i>visit -help</i>.</li>
<p><b><font size="4">Bugs fixed in version 1.4.5</font></b></p>
<li>VisIt's viewer crashes when the left mouse button and middle mouse buttons are clicked at the same time.</li>
<li>VisIt's viewer crashes when attempting to query a plot that could not be generated by the compute engine.</li>
<li>The Spheral database reader plugin returns empty datasets in certain cases, leading the compute engine to crash.</li>
<li>The CLI cannot be launched by the viewer on AIX systems, preventing movie-making from working.</li>
<li>The Enzo database reader plugin used to provide incorrect extents when the database had multiple root grids.</li>
<li>VisIt crashes when reading Ale3D Silo root files that contain multi-meshes whose members are all <i>EMPTY</i> blocks.</li>
<li>VisIt cannot obtain cycle or time information from VTK files. Cycle and time data can be stored as field data in the VTK file and VisIt will recognize it.</li>
<li>Plugins that are not enabled by default cannot be loaded by the compute engine.</li>
<li>Point meshes could not have glyphs applied (e.g. Icosahedra, Box, Axis) if the points were first rendered as regular points.</li>
<li>Using the IndexSelect operator with the groups category of subset causes the compute engine to crash.</li>
<li>The Label plot draws cell ids instead of 2D vectors when the vectors result from a 3D vector variable being sliced.</li>
<li>Volume plots using the hardware-accelerated rendering modes do not render AMR datasets properly due to a probable ghost zone issue.</li>
<li>The <em>MomentOfInertia</em> and <em>Centroid</em> queries calculate the wrong values on meshes created by the Revolve operator when cells with negative volumes are produced.</li>
<li>VisIt's Enzo database plugin reader fails to open 2D Enzo files.</li>
<li>Expressions involving mesh quality which often contain reserved angle-bracket characters are not properly saved to session files.</li>
<li>Setting a min value for coordinates in Scatter plot while coloring it by a variable causes it to use wrong data values.</li>
<li>It is not possible to turn off domains for datasets that have multiple domains and also groups in VisIt's CLI.</li>
<li>The IndexSelect operator does not use the right base index for its cell indices.</li>
<li>Pick is looking up nodes in the original mesh instead of the index-selected mesh when the IndexSelect operator has been applied, leading to incorrect pick results.</li>
<li>Picking on an index-selected mesh always returns relative logical coordinates.</li>
<li>VisIt's Tecplot database reader plugin cannot handle the <i>DATASETAUXDATA</i> keyword and it always requires a 2D mesh to have <i>X</i> and <i>Y</i> variables.</li>
<li>The Vector plot does not always use the <i>Single color</i> color attribute when that coloring mode is used when VisIt animates a Vector plot over time.</li>
<li>The variable menu that allows you to pick a variable by which to scale a point mesh is enabled when it should not be enabled.</li>
<li>VisIt's Curve2D database reader, which reads in Ultra curve files, cannot successfully read files that use tabs for white-space.</li>
<li>VisIt indiscriminately displays the same error message multiple times if the same error message is issued multiple times.</li>
<li>The IndexSelect operator can cause some subsets that have been explicitly turned off to reappear when using the operator on groups.</li>
<li>Plots that fail to be generated by the compute engine still cause the Mesh plot to automatically go out of opaque mode.</li>
<li>When the first variable used by the Scatter plot is cell centered and we color by another variable, the Scatter plot's point glyphs are all white.</li>
<li>A misleading error message about a missing compute engine has been eliminated from pick.</li>
<p>Click the following link to view the release notes for the previous version
of VisIt: <a href="relnotes1.4.4.html">VisIt 1.4.4 Release Notes</a>.</p>
\ No newline at end of file
......@@ -372,15 +372,22 @@ avtMeshFilter::RefashionDataObjectInfo(void)
// Kathleen Bonnell, Tue Nov 2 10:37:14 PST 2004
// Handle point meshes differently.
// Jeremy Meredith, Thu Aug 18 10:55:35 PDT 2005
// Don't turn on zone numbers for point meshes. It doesn't make sense, and
// it can wind up doing strange things later (e.g. with pick -- see '6550).
// ****************************************************************************
avtMeshFilter::PerformRestriction(avtPipelineSpecification_p spec)
avtPipelineSpecification_p rv = new avtPipelineSpecification(spec);
if (GetInput()->GetInfo().GetAttributes().GetTopologicalDimension() == 0)
if (GetInput()->GetInfo().GetAttributes().GetTopologicalDimension() != 0)
string pointVar = atts.GetPointSizeVar();
avtDataSpecification_p dspec = spec->GetDataSpecification();
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