[vtk-developers] Big list of uninitialized ivars

David Cole david.cole at kitware.com
Thu Jul 29 10:30:35 EDT 2010


Excellent! Thanks, Andy and David G.

Is there an updated list now that some/many of these have been fixed by a
few brave volunteers...?

Or do we have to sort through all the replies to this thread to see what's
left?


:-)
David C.


On Thu, Jul 29, 2010 at 10:28 AM, Andy Bauer <andy.bauer at kitware.com> wrote:

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


More information about the vtk-developers mailing list