[vtk-developers] Big list of uninitialized ivars

Andy Bauer andy.bauer at kitware.com
Thu Jul 29 10:28:59 EDT 2010


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/03d33a0d/attachment.html>


More information about the vtk-developers mailing list