BALL  1.4.1
modelProcessor.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: modelProcessor.h,v 1.19.20.1 2007/03/28 13:51:47 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
00008 #define BALL_VIEW_MODELS_MODELPROCESSOR_H
00009 
00010 #ifndef BALL_CONCEPT_COMPOSITE_H
00011 # include <BALL/CONCEPT/composite.h>
00012 #endif
00013 
00014 #ifndef BALL_CONCEPT_PROPERTY_H
00015 # include <BALL/CONCEPT/property.h>
00016 #endif
00017 
00018 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
00019 # include <BALL/VIEW/KERNEL/geometricObject.h>
00020 #endif
00021 
00022 namespace BALL
00023 {
00024   namespace VIEW
00025   {
00037     class BALL_VIEW_EXPORT ModelProcessor
00038       : public UnaryProcessor<Composite>,
00039         public PropertyManager
00040     {
00041       public:
00042 
00043         BALL_CREATE(ModelProcessor)
00044         
00045         
00046         ModelProcessor();
00047 
00049         ModelProcessor(const ModelProcessor& model_processor);
00050 
00053         virtual ~ModelProcessor();
00054 
00056         virtual void clear();
00057 
00059         virtual bool isValid() const
00060           {return true;};
00061 
00065         virtual void clearComposites()
00066           {};
00067 
00069         virtual void dump(std::ostream& /*s = std::cout*/, Size /*depth = 0*/) const
00070           {};
00071 
00073         GeometricObjectList& getGeometricObjects() 
00074           { return geometric_objects_;}
00075         
00077         const GeometricObjectList& getGeometricObjects() const
00078           { return geometric_objects_;}
00079         
00081         void setDrawingPrecision(Index precision);
00082 
00084         Index getDrawingPrecision() const;
00085 
00087         void setSurfaceDrawingPrecision(float precision);
00088 
00090         float getSurfaceDrawingPrecision() const;
00091 
00097         virtual bool createGeometricObjects() 
00098           { return true;}
00099         
00100         protected:
00101         
00102         //_
00103         GeometricObjectList geometric_objects_;
00104 
00105         //_
00106         Index drawing_precision_;
00107 
00108         //_
00109         float surface_drawing_precision_;
00110   };
00111 
00112   } // namespace VIEW
00113 } // namespace BALL
00114 
00115 #endif // BALL_VIEW_MODELS_MODELPROCESSOR_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines