Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# Rendering/vtkActor.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkActor.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00054 #ifndef __vtkActor_h
    00055 #define __vtkActor_h
    00056
    00057 #include "vtkProp3D.h"
    00058
    00059 class vtkRenderer;
    00060 class vtkPropCollection;
    00061 class vtkActorCollection;
    00062 class vtkTexture;
    00063 class vtkMapper;
    00064 class vtkProperty;
    00065
    00066 class VTK_RENDERING_EXPORT vtkActor : public vtkProp3D
    00067 {
    00068 public:
    00069   vtkTypeRevisionMacro(vtkActor,vtkProp3D);
    00070   void PrintSelf(ostream& os, vtkIndent indent);
    00071
    00075   static vtkActor *New();
    00076
    00080   virtual void GetActors(vtkPropCollection *);
    00081
    00083
    00084   virtual int RenderOpaqueGeometry(vtkViewport *viewport);
    00085   virtual int RenderTranslucentGeometry(vtkViewport *viewport);
    00087
    00093   virtual void Render(vtkRenderer *, vtkMapper *) {};
    00094
    00096   void ShallowCopy(vtkProp *prop);
    00097
    00101   void ReleaseGraphicsResources(vtkWindow *);
    00102
    00104
    00109   void SetProperty(vtkProperty *lut);
    00110   vtkProperty *GetProperty();
    00112
    00116   virtual vtkProperty* MakeProperty();
    00117
    00119
    00123   void SetBackfaceProperty(vtkProperty *lut);
    00124   vtkProperty *GetBackfaceProperty();
    00126
    00128
    00131   virtual void SetTexture(vtkTexture*);
    00132   vtkGetObjectMacro(Texture,vtkTexture);
    00134
    00139   virtual void SetMapper(vtkMapper *);
    00140
    00142
    00143   vtkGetObjectMacro(Mapper,vtkMapper);
    00145
    00147
    00150   void GetBounds(float bounds[6]) {this->vtkProp3D::GetBounds( bounds );};
    00151   float *GetBounds();
    00153
    00160   virtual void ApplyProperties() {return;};
    00161
    00163   unsigned long int GetMTime();
    00164
    00169   virtual unsigned long GetRedrawMTime();
    00170
    00172
    00176   virtual void InitPartTraversal();
    00177   virtual vtkActor *GetNextPart();
    00178   virtual int GetNumberOfParts();
    00180
    00181 protected:
    00182   vtkActor();
    00183   ~vtkActor();
    00184
    00185   vtkProperty *Property;
    00186   vtkProperty *BackfaceProperty;
    00187   vtkTexture *Texture;
    00188   vtkMapper *Mapper;
    00189
    00190   // is this actor opaque
    00191   int GetIsOpaque();
    00192
    00193   // Bounds are cached in an actor - the MapperBounds are also cache to
    00194   // help know when the Bounds need to be recomputed.
    00195   float        MapperBounds[6];
    00196   vtkTimeStamp BoundsMTime;
    00197
    00198 private:
    00199   vtkActor(const vtkActor&);  // Not implemented.
    00200   void operator=(const vtkActor&);  // Not implemented.
    00201 };
    00202
    00203 #endif
    00204