12 #ifndef ROOT_TEveGeoShape
13 #define ROOT_TEveGeoShape
19 class TGeoCompositeShape;
20 class TEveGeoShapeExtract;
23 class TEveGeoShape :
public TEveShape
26 TEveGeoShape(
const TEveGeoShape&);
27 TEveGeoShape& operator=(
const TEveGeoShape&);
32 TGeoCompositeShape *fCompositeShape;
34 static TGeoManager *fgGeoMangeur;
36 static TEveGeoShape* SubImportShapeExtract(TEveGeoShapeExtract* gse, TEveElement* parent);
37 TEveGeoShapeExtract* DumpShapeTree(TEveGeoShape* geon, TEveGeoShapeExtract* parent=0);
39 TGeoShape* MakePolyShape();
42 TEveGeoShape(
const char* name=
"TEveGeoShape",
const char* title=0);
43 virtual ~TEveGeoShape();
45 virtual TObject* GetObject(
const TEveException&)
const
46 {
const TObject* obj =
this;
return const_cast<TObject*
>(obj); }
48 Int_t GetNSegments()
const {
return fNSegments; }
49 TGeoShape* GetShape()
const {
return fShape; }
50 void SetNSegments(Int_t s);
51 void SetShape(TGeoShape* s);
53 virtual void ComputeBBox();
54 virtual void Paint(Option_t* option=
"");
56 void Save(
const char* file,
const char* name=
"Extract");
57 void SaveExtract(
const char* file,
const char* name);
58 void WriteExtract(
const char* name);
60 static TEveGeoShape* ImportShapeExtract(TEveGeoShapeExtract* gse, TEveElement* parent=0);
63 virtual TBuffer3D* MakeBuffer3D();
64 virtual TClass* ProjectedClass(
const TEveProjection* p)
const;
66 static TGeoManager* GetGeoMangeur();
67 static TGeoHMatrix* GetGeoHMatrixIdentity();
69 ClassDef(TEveGeoShape, 0);
74 class TEveGeoShapeProjected :
public TEveShape,
78 TEveGeoShapeProjected(
const TEveGeoShapeProjected&);
79 TEveGeoShapeProjected& operator=(
const TEveGeoShapeProjected&);
84 virtual void SetDepthLocal(Float_t d);
87 TEveGeoShapeProjected();
88 virtual ~TEveGeoShapeProjected();
90 virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model);
91 virtual void UpdateProjection();
92 virtual TEveElement* GetProjectedAsElement() {
return this; }
94 virtual void ComputeBBox();
96 ClassDef(TEveGeoShapeProjected, 0);