BALL
1.4.1
|
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