I was actually thinking the same thing after I sent the email. Since they're bounds, I'll put in the VTK_DOUBLE_MIN and VTK_DOUBLE_MAX.<br><br>The other goal of the email was to to help David G. with this list of uninitialized variables and hoping that other people would check out the list and fix a couple of classes that they were familiar with :)<br>
<br>Andy<br><br><div class="gmail_quote">On Thu, Jul 29, 2010 at 8:30 AM, David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I would like to add to what David Cole said.  These uninitialized<br>
ivars can be very troublesome for people who want to build<br>
object-inspectors for VTK.  It is a very reasonable thing to want to<br>
introspect an object immediately after it has been created.  We don't<br>
want object inspectors to find uninitialized ivars and present their<br>
values to the users.<br>
<br>
VTK should have no uninitialized ivars. If the TestSetGet test can<br>
read these ivars uninitialized, then so could an object inspector.<br>
<font color="#888888"><br>
   David<br>
</font><div><div></div><div><br>
<br>
On Thu, Jul 29, 2010 at 5:17 AM, David Cole <<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>> wrote:<br>
> And yet they should not be ignored: since they "should" be set immediately<br>
> after construction, they "might not" be.<br>
><br>
> If, however, there is a *guarantee* that they *will* be set immediately<br>
> after construction, I might be persuaded to make an exception. But probably<br>
> not.<br>
> Unless there is an important performance reason to ignore these, I would<br>
> strongly recommend *NOT* ignoring them. Address them, be done with it, and<br>
> put it behind... That way, future developers looking at the code will not<br>
> ever have to ask themselves "hmmmm, I wonder if this problem occurs because<br>
> these data members are uninitialized...?"<br>
><br>
> 2 cents,<br>
> David<br>
><br>
> On Wed, Jul 28, 2010 at 11:10 PM, Andy Bauer <<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>> wrote:<br>
>><br>
>> I took care of the ones from vtkPKdTree and vtkOctreePointLocator.<br>
>> According to the documentation/comments the ones in vtkIncrementalOctreeNode<br>
>> can be ignored since they should be set immediately after construction.<br>
>><br>
>> Andy<br>
>><br>
>>> Date: Fri, 23 Jul 2010 10:23:26 -0600<br>
>>> From: David Gobbi <<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>><br>
>>> Subject: [vtk-developers] Big list of uninitialized ivars<br>
>>> To: VTK Developers <<a href="mailto:vtk-developers@vtk.org" target="_blank">vtk-developers@vtk.org</a>><br>
>>> Message-ID:<br>
>>>        <<a href="mailto:AANLkTimEegxZJFWsLJX99nmTD-g33WT7xF9Y8-5SwNs9@mail.gmail.com" target="_blank">AANLkTimEegxZJFWsLJX99nmTD-g33WT7xF9Y8-5SwNs9@mail.gmail.com</a>><br>
>>> Content-Type: text/plain; charset=ISO-8859-1<br>
>>><br>
>>> Hi Everyone,<br>
>>><br>
>>> I was using valgrind on TestSetGet.tcl as a way of testing the<br>
>>> integrity of the new wrappers, and I found a large number of<br>
>>> uninitialized ivars.  Some of these are from methods that used to be<br>
>>> excluded from the test via BTX/ETX, but a lot of them have just always<br>
>>> been there.<br>
>>><br>
>>> Here is the list (possibly with some repetition):<br>
>>><br>
>>> vtkPKdTree-GetRegionAssignmentMapLength<br>
>>> vtkModifiedBSPTree-GetLeafNodeCellInformation<br>
>>> vtkOctreePointLocator-GetNumberOfLeafNodes<br>
>>> vtkIncrementalOctreeNode-GetMaxBounds<br>
>>> vtkIncrementalOctreeNode-GetMinBounds<br>
>>> vtkFiniteDifferenceGradientEstimator-GetInputSize<br>
>>> vtkFiniteDifferenceGradientEstimator-GetInputAspect<br>
>>><br>
>>> vtkPCosmoHaloFinder-GetNP<br>
>>> vtkXMLUnstructuredGridReader-GetClassName<br>
>>> vtkWindBladeReader-GetWholeExtent<br>
>>> vtkWindBladeReader-GetSubExtent<br>
>>> vtkVPICReader-GetStride<br>
>>> vtkVPICReader-GetXLayout<br>
>>> vtkVPICReader-GetYLayout<br>
>>> vtkVPICReader-GetZLayout<br>
>>><br>
>>> vtkDICOMImageReader-GetImagePositionPatient<br>
>>> vtkDICOMImageReader-GetImageOrientationPatient<br>
>>> vtkMedicalImageProperties-GetPatientBirthDateYear<br>
>>> vtkMedicalImageProperties-GetPatientBirthDateMonth<br>
>>> vtkMedicalImageProperties-GetPatientBirthDateDay<br>
>>> vtkMedicalImageProperties-GetImageDateYear<br>
>>> vtkMedicalImageProperties-GetImageDateMonth<br>
>>> vtkMedicalImageProperties-GetImageDateDay<br>
>>> vtkMedicalImageProperties-GetAcquisitionDateYear<br>
>>> vtkMedicalImageProperties-GetAcquisitionDateMonth<br>
>>> vtkMedicalImageProperties-GetAcquisitionDateDay<br>
>>> vtkMedicalImageProperties-GetStudyTime<br>
>>><br>
>>> vtkNetCDFPOPReader-GetStride<br>
>>> vtkNetCDFPOPReader-GetBlockReadSize<br>
>>> vtkNetCDFPOPReader-GetNumberOfVariableArrays<br>
>>> vtkNetCDFPOPReader-GetSpacing<br>
>>> vtkNetCDFPOPReader-GetOrigin<br>
>>> vtkNetCDFPOPReader-GetWholeExtent<br>
>>> vtkNetCDFPOPReader-GetSubExtent<br>
>>> vtkNetCDFPOPReader-GetClassName<br>
>>> vtkNetCDFPOPReader-GetFilename<br>
>>> vtkNetCDFPOPReader-GetInput<br>
>>> vtkNetCDFPOPReader-GetOutput<br>
>>> vtkNetCDFPOPReader-GetReleaseDataFlag<br>
>>> vtkNetCDFPOPReader-GetTotalNumberOfInputConnections<br>
>>><br>
>>> vtkParallelCoordinatesActor-GetTitleTextProperty<br>
>>> vtkParallelCoordinatesActor-GetLabelTextProperty<br>
>>> vtkParallelCoordinatesActor-GetLabelFormat<br>
>>> vtkParallelCoordinatesActor-GetNumberOfLabels<br>
>>> vtkParallelCoordinatesActor-GetNumberOfLabelsMaxValue<br>
>>> vtkParallelCoordinatesActor-GetNumberOfLabelsMinValue<br>
>>> vtkParallelCoordinatesActor-GetIndependentVariables<br>
>>> vtkParallelCoordinatesActor-GetIndependentVariablesMaxValue<br>
>>> vtkParallelCoordinatesActor-GetIndependentVariablesMinValue<br>
>>> vtkParallelCoordinatesActor-GetInput<br>
>>> vtkParallelCoordinatesActor-GetTitle<br>
>>> vtkParallelCoordinatesActor-GetClassName<br>
>>> vtkParallelCoordinatesInteractorStyle-GetCursorLastPosition<br>
>>> vtkParallelCoordinatesInteractorStyle-GetCursorStartPosition<br>
>>> vtkParallelCoordinatesInteractorStyle-GetCursorCurrentPosition<br>
>>> vtkParallelCoordinatesInteractorStyle-GetClassName<br>
>>> vtkParallelCoordinatesInteractorStyle-GetMotionFactor<br>
>>> vtkParallelCoordinatesInteractorStyle-GetTDxStyle<br>
>>> vtkParallelCoordinatesInteractorStyle-GetMouseWheelMotionFactor<br>
>>> vtkParallelCoordinatesInteractorStyle-GetPickColor<br>
>>> vtkParallelCoordinatesInteractorStyle-GetHandleObservers<br>
>>> vtkParallelCoordinatesView-GetCurrentBrushClass<br>
>>> vtkParallelCoordinatesView-GetMaximumNumberOfBrushPoints<br>
>>><br>
>>> vtkRenderView-GetLabelRenderMode<br>
>>> vtkRenderView-GetLabelPlacementMode<br>
>>> vtkRenderViewBase-GetRenderOnMouseMove<br>
>>> vtkRenderViewBase-GetInteractionMode<br>
>>> vtkTreeAreaView-GetEdgeScalarBarVisibility<br>
>>> vtkTreeAreaView-GetUseRectangularCoordinates<br>
>>> vtkTreeMapView-GetClassName<br>
>>> vtkTreeMapView-GetEdgeScalarBarVisibility<br>
>>> vtkTreeRingView-GetInteriorLogSpacingValue<br>
>>> vtkTreeRingView-GetInteriorRadius<br>
>>> vtkGraphLayoutView-GetVertexScalarBarVisibility<br>
>>> vtkGraphLayoutView-GetEdgeScalarBarVisibility<br>
>>> vtkGraphLayoutView-GetEdgeLabelFontSize<br>
>>> vtkHierarchicalGraphView-GetGraphVisibility<br>
>>> vtkHierarchicalGraphView-GetGraphEdgeLabelFontSize<br>
>>> vtkHierarchycalGraphView-GetBundlingStrength<br>
>>> vtkIcicleView-GetUseGradientColoring<br>
>>> vtkIcicleView-GetLayerThickness<br>
>>> vtkIcicleView-GetRootWidth<br>
>>> vtkGeoView-GetTerrain<br>
>>> vtkGeoView-GetGeoInteractorStyle<br>
>>> vtkGeoView-GetLockHeading<br>
>>> vtkGeoView-GetClassName<br>
>>> vtkGeoView-GetLabelRenderMode<br>
>>> vtkGeoView2D-GetTransform<br>
>>> vtkGeoView2D-GetSurface<br>
>>> vtkGeoView2D-GetClassName<br>
>>> vtkGeoView2D-GetLabelRenderMode<br>
>>><br>
>>> vtkXOpenGLRenderWindow-GetTextureUnitManager<br>
>>><br>
>>> vtkInteractorStyleAreaSelectHover-GetStartPosition<br>
>>> vtkInteractorStyleAreaSelectHover-GetEndPosition<br>
>>> vtkInteractorStyleRubberBand3D-GetStartPosition<br>
>>> vtkInteractorStyleRubberBand3D-GetEndPosition<br>
>>> vtkInteractorStyleRubberBand2D-GetStartPosition<br>
>>> vtkInteractorStyleRubberBand2D-GetEndPosition<br>
>>><br>
>>> vtkVolumeTextureMapper2D-GetInternalSkipFactor<br>
>>> vtkVolumeTextureMapper2D-GetShade<br>
>>> vtkVolumeTextureMapper2D-GetSaveTextures<br>
>>> vtkOpenGLVolumeTextureMapper2D-GetInternalSkipFactor<br>
>>> vtkOpenGLVolumeTextureMapper2D-GetShade<br>
>>> vtkOpenGLVolumeTextureMapper2D-GetSaveTextures<br>
>>><br>
>>> vtkUnstructuredGridVolumeRayCastMapper-GetImageInUseSize<br>
>>> vtkUnstructuredGridVolumeRayCastMapper-GetImageOrigin<br>
>>> vtkUnstructuredGridVolumeRayCastMapper-GetImageSpacing<br>
>>> vtkUnstructuredGridVolumeRayCastMapper-GetImageViewportSize<br>
>>> vtkUnstructuredGridBunykRayCastFunction-GetImageOrigin<br>
>>> vtkUnstructuredGridBunykRayCastFunction-GetImageSpacing<br>
>>> vtkUnstructuredGridBunykRayCastFunction-GetImageViewportSize<br>
>>> vtkUnstructuredGridVolumeZSweepMapper-GetImageInUseSize<br>
>>> vtkUnstructuredGridVolumeZSweepMapper-GetImageOrigin<br>
>>> vtkUnstructuredGridVolumeZSweepMapper-GetImageSpacing<br>
>>> vtkUnstructuredGridVolumeZSweepMapper-GetImageViewportSize<br>
>>><br>
>>> == end of list ==<br>
>><br>
>><br>
>> _______________________________________________<br>
>> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
>><br>
>> Visit other Kitware open-source projects at<br>
>> <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
>><br>
>> Follow this link to subscribe/unsubscribe:<br>
>> <a href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers</a><br>
>><br>
>><br>
><br>
><br>
</div></div></blockquote></div><br>