ATLAS Offline Software
SoPolyhedron.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // //
7 // Header file for class SoPolyhedron //
8 // //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: November 2008 //
12 // Update: Giorgi Gvaberidze (ggvaberi@cern.ch) //
13 // November 2010 //
15 
16 #ifndef HEPVis_SoPolyhedron_h
17 #define HEPVis_SoPolyhedron_h
18 
19 // Inheritance :
20 #include <Inventor/C/errors/debugerror.h>
21 #include <Inventor/nodes/SoShape.h>
22 #include <Inventor/fields/SoSFBool.h>
23 
24 #include <Inventor/fields/SoSFNode.h>
25 #include <Inventor/actions/SoGetPrimitiveCountAction.h>
26 
27 class SbPolyhedron;
28 
29 
47 class SoPolyhedron : public SoShape {
48 
50 
51 public:
52  //SoSFBool solid;
53  //SoSFBool reducedWireFrame;
54  SoSFNode alternateRep;
55 public:
56  SoPolyhedron();
57  SoPolyhedron(const SbPolyhedron&);
58  SoPolyhedron(const SbPolyhedron*);
59 public:
60  static void initClass();
61 protected:
62  virtual void computeBBox(SoAction*,SbBox3f&,SbVec3f&);
63  virtual void generatePrimitives(SoAction*);
64 
65  //virtual void getPrimitiveCount(SoGetPrimitiveCountAction * action);
66 protected:
67  virtual ~SoPolyhedron();
68 private:
70 
71  //---------------//
72 public:
73  typedef struct{
74  float pos[3];
75  float nor[3];
76  } Vertex;
77 
79  long* m_indices;
80  long m_vcount;
81  long m_icount;
82  long hasVertex(Vertex* vertices, long len, Vertex& v);
83  void makeShape(SbPolyhedron*);
84 public:
85  virtual void generateAlternateRep();
86  virtual void clearAlternateRep();
87  //---------------------//
88 };
89 
90 #endif
SoPolyhedron::m_indices
long * m_indices
Definition: SoPolyhedron.h:79
SbPolyhedron
Definition: SbPolyhedron.h:231
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
SoPolyhedron::~SoPolyhedron
virtual ~SoPolyhedron()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SoPolyhedron.cxx:103
SoPolyhedron::computeBBox
virtual void computeBBox(SoAction *, SbBox3f &, SbVec3f &)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SoPolyhedron.cxx:289
SoPolyhedron::m_vcount
long m_vcount
Definition: SoPolyhedron.h:80
SoPolyhedron::SoPolyhedron
SoPolyhedron()
Definition: SoPolyhedron.cxx:56
SoPolyhedron::makeShape
void makeShape(SbPolyhedron *)
Definition: SoPolyhedron.cxx:521
SoPolyhedron::clearAlternateRep
virtual void clearAlternateRep()
Definition: SoPolyhedron.cxx:419
SoPolyhedron::SO_NODE_HEADER
SO_NODE_HEADER(SoPolyhedron)
SoPolyhedron::hasVertex
long hasVertex(Vertex *vertices, long len, Vertex &v)
Definition: SoPolyhedron.cxx:428
SoPolyhedron::generatePrimitives
virtual void generatePrimitives(SoAction *)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SoPolyhedron.cxx:115
SoPolyhedron::Vertex
Definition: SoPolyhedron.h:73
SoPolyhedron::m_polyhedron
SbPolyhedron * m_polyhedron
Definition: SoPolyhedron.h:69
SoPolyhedron::alternateRep
SoSFNode alternateRep
Definition: SoPolyhedron.h:54
SoPolyhedron::m_vertices
Vertex * m_vertices
Definition: SoPolyhedron.h:78
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
SoPolyhedron::m_icount
long m_icount
Definition: SoPolyhedron.h:81
python.PyAthena.v
v
Definition: PyAthena.py:157
SoPolyhedron::generateAlternateRep
virtual void generateAlternateRep()
Definition: SoPolyhedron.cxx:377
SoPolyhedron::initClass
static void initClass()
Definition: SoPolyhedron.cxx:47
SoPolyhedron
SoPolyhedron is an Inventor encapsulation of the HepPolyedron class written by E.Chernyaev.
Definition: SoPolyhedron.h:47