Skip to content
Snippets Groups Projects
  1. Jun 30, 1999
  2. Jun 29, 1999
  3. Jun 26, 1999
  4. Jun 25, 1999
  5. Jun 24, 1999
    • Jim Miller's avatar
      Automated commit to force versioning. · 5ac72690
      Jim Miller authored
      5ac72690
    • Lisa Avila's avatar
      e5e6f5b6
    • Lisa Avila's avatar
      These changes were made to make some data access method at the vtkDataSet · 6d5bbba7
      Lisa Avila authored
      level thread safe. Some are thread safe all the time, others are thread safe
      only when called from a single thread first, with no data during threaded use.
      The status of each method in vtkDataSet is listed below, with the changes that
      were made in order to achieve that status. This information was added to the
      embedded documentation.
      
      The basic idea is that if you want to thread a graphics filter that uses
      these methods, you can use any of the safe methods, you cannot use any of
      the unsafe methods. The ones that are safe on the 2nd call (assuming data does
      not change) you would call before threading (just make the call to each of
      them, and throw away the results) Then you can safely use them as long as you
      are not modifying the data. (For example, use these methods on the input, but
      not on the output that you are generating.
      
      ----------------------------------------------------------------------------
      
      safe 		  virtual int GetDataSetType()
      
      safe 		  virtual int GetNumberOfPoints()
      
      safe 		  virtual int GetNumberOfCells()
      
      safe 		  unsigned long int GetMTime()
      
      safe 		  vtkCellData *GetCellData()
      
      safe 		  vtkPointData *GetPointData()
      
      safe 		  virtual int GetMaxCellSize()
      
      safe 		  virtual void GetPoint(int id, float x[3])
      			in vtkRectilinearGrid:
      			  this->GetPoint(id, x) just called this->GetPoint(id).
      			  Also, this->GetPoint(id) used a static variable to
      			  return the results. This has been changed to a member
      			  variable, and a new version of this->GetPoint(id, x)
      			  has been written.
      
      
      safe 2nd call	  void GetScalarRange(float range[2])
      
      safe 2nd call	  virtual void GetCell(int cellId, vtkGenericCell *cell)
      			must be called once due to BuildCells()
      			in vtkPolyData, vtkStructuredGrid, and
      			vtkUnstructuredGrid:
          			  code: cell->Points->
      				SetPoint(i,this->Points->GetPoint(idx));
      			  this->Points->GetPoint(idx) is not safe.
      			Replace with safe version.
      
      
      safe 2nd call	  virtual void GetCellBounds(int cellId, float bounds[6])
      			must be called once due to BuildCells()
      			in vtkPolyData, vtkStructuredGrid, and
      			vtkUnstructuredGrid:
      			  code: x = GetPoint(id);
      			  not safe - changed this to GetPoint(id, x)
      
      safe 2nd call	  virtual int GetCellType(int cellId)
      			must be called once due to BuildCells()
      
      safe 2nd call	  virtual void GetCellTypes(vtkCellTypes *types)
      			must be called once due to BuildCells()
      
      safe 2nd call	  virtual void GetCellPoints(int cellId, vtkIdList *ptIds)
      			must be called once due to BuildCells()
      
      safe 2nd call	  virtual void GetPointCells(int ptId, vtkIdList *cellIds)
      			must be called once due to BuildLinks()
      
      safe 2nd call	  virtual void GetCellNeighbors(int cellId, vtkIdList *ptIds,
      				vtkIdList *cellIds);
      			must be called once due to BuildLinks()
      
      safe 2nd call	  int FindPoint(float x, float y, float z)
      			must be called once to build locator
      
      safe 2nd call	  virtual int FindPoint(float x[3])
      			must be called once to build locator
      			in vtkPointLocator:
      			  code: pt = this->DataSet->GetPoint(ptId)
      			  is not safe. Changed to safe GetPoint(ptId, pt)
      			  method.
      
      safe 2nd call	  void GetBounds(float bounds[6])
      			must be called once to compute bounds
      
      safe 2nd call	  void GetCenter(float center[3])
      			must be called once to compute bounds
      			fixed code - used to just call GetCenter()
      
      safe 2nd call	  float GetLength()
      			must be called once to compute bounds
      
      not safe yet	  virtual int FindCell(float x[3], vtkCell *cell,
      				int cellId, float tol2,
                             int& subId, float pcoords[3], float *weights)
      			must be called once to build locator
      			needs some GetCell(id) methods changed
      			don't have the enery now....
      
      not safe	  virtual float *GetPoint(int ptId)
      
      not safe	  virtual vtkCell *GetCell(int cellId)
      
      not safe	  virtual vtkCell *FindAndGetCell(float x[3], vtkCell *cell,
      				  int cellId,
      				  float tol2, int& subId, float pcoords[3],
      				  float *weights)
      
      not safe	  virtual void Squeeze()
      
      not safe	  virtual void ComputeBounds()
      
      not safe	  void Initialize()
      
      not safe	  float *GetBounds()
      
      not safe	  float *GetCenter()
      
      not safe	  float *GetScalarRange()
      
      
      Other Changes:
      
      	vtkUnstructuredGrid:
      		now does the allocate in the constructor. Also
      		does the unregister in the allocate if necessary
      		to avoid memory leaks if Allocate() is called
      		twice
      6d5bbba7
    • Will Schroeder's avatar
      ERR:Adjust scale factor properly · 6d7471a9
      Will Schroeder authored
      6d7471a9
    • Rusty Blue's avatar
      ENH: Minor performance improvements in GetOverlappingbuckets - only get new... · d760d238
      Rusty Blue authored
      ENH: Minor performance improvements in GetOverlappingbuckets - only get new cell in each successive call
      d760d238
    • Rusty Blue's avatar
      ERR: Fixed bug due to uninitialized refinedRadius in... · 3cd1791f
      Rusty Blue authored
      ERR: Fixed bug due to uninitialized refinedRadius in FindClosestPointWithinRadius;  also minor performance improvements in GetOverlappingbuckets - only get new cell in each successive call
      3cd1791f
    • Bill Lorensen's avatar
      ENH: changed main's return type to int. · 7215f7c0
      Bill Lorensen authored
      7215f7c0
    • Bill Lorensen's avatar
      fb816324
  6. Jun 23, 1999
Loading