[vtkusers] Possible but in vtkSetGet?
    Prabhu Ramachandran 
    prabhu at aero.iitm.ernet.in
       
    Thu Apr  5 17:24:46 EDT 2001
    
    
  
hi,
While working with a vtkScalarBarActor I had an annoying problem and
found the following code in vtkSetGet.h for the
vtkViewportCoordinateMacro
   524  #define vtkViewportCoordinateMacro(name) \
   525  virtual vtkCoordinate *Get##name##Coordinate () \
   526  { \
   527      vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returni
   527  ng " #name "Coordinate address " << this->name##Coordinate ); \
   528      return this->name##Coordinate; \
   529  } \
   530  virtual void Set##name(float x[2]) {this->Set##name(x[0],x[1]);}; \
   531  virtual void Set##name(float x, float y) \
   532  { \
   533      this->name##Coordinate->SetCoordinateSystem(VTK_VIEWPORT); \
   534      this->name##Coordinate->SetValue(x,y); \
   535  } \
My question is why on earth is the code in line number 533 necessary
at all?  The problem with this line is demonstrated by the foll.  Say
you have something like this in Python
  sb = vtkScalarBarActor()
  sb.GetPositionCoordinate().SetCoordinateSystemToNormalizedViewPort()
  # carefully position the actor...
  pos = sb.GetPosition ()
  sb.SetPosition (pos)
Bang! All your carefult positioning is a waste!!  So is this an error
or is it there by design?
thanks,
prabhu
    
    
More information about the vtkusers
mailing list