Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::REveGeoPolyShape Class Reference

Definition at line 28 of file REveGeoPolyShape.hxx.

Classes

struct  Edge_t
 

Public Member Functions

 REveGeoPolyShape ()=default
 
 ~REveGeoPolyShape () override=default
 
void BuildFromComposite (TGeoCompositeShape *cshp, Int_t n_seg=60)
 Produce all polygons from composite shape.
 
void BuildFromShape (TGeoShape *shape, Int_t n_seg=60)
 Produce all polygons from normal shape.
 
void CalculateNormals ()
 CalculateNormals per polygon (flat shading)
 
 ClassDefOverride (REveGeoPolyShape, 1)
 
void EnforceTriangles ()
 Use GLU tesselator to replace all polygons with N > 3 with triangles.
 
void FillRenderData (REveRenderData &rd)
 
const TBuffer3DGetBuffer3D (Int_t reqSections, Bool_t localFrame) const override
 Fill static buffer 3D.
 
Int_t GetNumFaces () const
 
TBuffer3DMakeBuffer3D () const override
 Create buffer 3D and fill it with point/segment/poly data.
 
- Public Member Functions inherited from TGeoBBox
 TGeoBBox ()
 Default constructor.
 
 TGeoBBox (const char *name, Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
 Constructor with shape name.
 
 TGeoBBox (Double_t *param)
 Constructor based on the array of parameters.
 
 TGeoBBox (Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
 Constructor where half-lengths are provided.
 
 ~TGeoBBox () override
 Destructor.
 
Double_t Capacity () const override
 Computes capacity of the shape in [length^3].
 
void ComputeBBox () override
 Compute bounding box - nothing to do in this case.
 
void ComputeNormal (const Double_t *point, const Double_t *dir, Double_t *norm) override
 Computes normal to closest surface from POINT.
 
void ComputeNormal_v (const Double_t *points, const Double_t *dirs, Double_t *norms, Int_t vecsize) override
 Compute the normal for an array o points so that norm.dot.dir is positive Input: Arrays of point coordinates and directions + vector size Output: Array of normal directions.
 
Bool_t Contains (const Double_t *point) const override
 Test if point is inside this shape.
 
void Contains_v (const Double_t *points, Bool_t *inside, Int_t vecsize) const override
 Check the inside status for each of the points in the array.
 
Bool_t CouldBeCrossed (const Double_t *point, const Double_t *dir) const override
 Decides fast if the bounding box could be crossed by a vector.
 
Int_t DistancetoPrimitive (Int_t px, Int_t py) override
 Compute closest distance from point px,py to each corner.
 
Double_t DistFromInside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=nullptr) const override
 Compute distance from inside point to surface of the box.
 
void DistFromInside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const override
 Compute distance from array of input points having directions specified by dirs. Store output in dists.
 
Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=nullptr) const override
 Compute distance from outside point to surface of the box.
 
void DistFromOutside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const override
 Compute distance from array of input points having directions specified by dirs. Store output in dists.
 
TGeoVolumeDivide (TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step) override
 Divide this box shape belonging to volume "voldiv" into ndiv equal volumes called divname, from start position with the given step.
 
const char * GetAxisName (Int_t iaxis) const override
 Returns name of axis IAXIS.
 
Double_t GetAxisRange (Int_t iaxis, Double_t &xlo, Double_t &xhi) const override
 Get range of shape for a given axis.
 
void GetBoundingCylinder (Double_t *param) const override
 Fill vector param[4] with the bounding cylinder parameters.
 
const TBuffer3DGetBuffer3D (Int_t reqSections, Bool_t localFrame) const override
 Fills a static 3D buffer and returns a reference.
 
Int_t GetByteCount () const override
 
virtual Double_t GetDX () const
 
virtual Double_t GetDY () const
 
virtual Double_t GetDZ () const
 
virtual Double_t GetFacetArea (Int_t index=0) const
 Get area in internal units of the facet with a given index.
 
Int_t GetFittingBox (const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const override
 Fills real parameters of a positioned box inside this one. Returns 0 if successful.
 
TGeoShapeGetMakeRuntimeShape (TGeoShape *mother, TGeoMatrix *mat) const override
 In case shape has some negative parameters, these has to be computed in order to fit the mother.
 
void GetMeshNumbers (Int_t &nvert, Int_t &nsegs, Int_t &npols) const override
 Returns numbers of vertices, segments and polygons composing the shape mesh.
 
Int_t GetNmeshVertices () const override
 
virtual const Double_tGetOrigin () const
 
virtual Bool_t GetPointsOnFacet (Int_t index, Int_t npoints, Double_t *array) const
 Fills array with n random points located on the surface of indexed facet.
 
Bool_t GetPointsOnSegments (Int_t npoints, Double_t *array) const override
 Fills array with n random points located on the line segments of the shape mesh.
 
void InspectShape () const override
 Prints shape parameters.
 
TClassIsA () const override
 
Bool_t IsCylType () const override
 
virtual Bool_t IsNullBox () const
 
Bool_t IsValidBox () const override
 
TBuffer3DMakeBuffer3D () const override
 Creates a TBuffer3D describing this shape.
 
Double_t Safety (const Double_t *point, Bool_t in=kTRUE) const override
 Computes the closest distance from given point to this shape.
 
void Safety_v (const Double_t *points, const Bool_t *inside, Double_t *safe, Int_t vecsize) const override
 Compute safe distance from each of the points in the input array.
 
void SavePrimitive (std::ostream &out, Option_t *option="") override
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBoxDimensions (Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
 Set parameters of the box.
 
void SetBoxPoints (Double_t *points) const
 Fill box vertices to an array.
 
void SetDimensions (Double_t *param) override
 Set dimensions based on the array of parameters param[0] - half-length in x param[1] - half-length in y param[2] - half-length in z.
 
void SetPoints (Double_t *points) const override
 Fill box points.
 
void SetPoints (Float_t *points) const override
 Fill box points.
 
void SetSegsAndPols (TBuffer3D &buffer) const override
 Fills TBuffer3D structure for segments and polygons.
 
void Sizeof3D () const override
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TGeoShape
 TGeoShape ()
 Default constructor.
 
 TGeoShape (const char *name)
 Default constructor.
 
 ~TGeoShape () override
 Destructor.
 
virtual void AfterStreamer ()
 
void CheckShape (Int_t testNo, Int_t nsamples=10000, Option_t *option="")
 Test for shape navigation methods.
 
virtual void ClearThreadData () const
 
virtual void CreateThreadData (Int_t)
 
void Draw (Option_t *option="") override
 Draw this shape.
 
void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
 Execute mouse actions on this shape.
 
Int_t GetId () const
 
const char * GetName () const override
 Get the shape name.
 
const char * GetPointerName () const
 Provide a pointer name containing uid.
 
void InvertShapeBit (UInt_t f)
 
TClassIsA () const override
 
virtual Bool_t IsAssembly () const
 
virtual Bool_t IsComposite () const
 
virtual Bool_t IsReflected () const
 
Bool_t IsRunTimeShape () const
 
Bool_t IsValid () const
 
virtual Bool_t IsVecGeom () const
 
void Paint (Option_t *option="") override
 Paint this shape.
 
void ResetShapeBit (UInt_t f)
 
void SetId (Int_t id)
 
void SetRuntime (Bool_t flag=kTRUE)
 
void SetShapeBit (UInt_t f)
 
void SetShapeBit (UInt_t f, Bool_t set)
 Equivalent of TObject::SetBit.
 
Int_t ShapeDistancetoPrimitive (Int_t numpoints, Int_t px, Int_t py) const
 Returns distance to shape primitive mesh.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Bool_t TestShapeBit (UInt_t f) const
 
Int_t TestShapeBits (UInt_t f) const
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static Bool_t GetAutoCalculateNormals ()
 
static Bool_t GetAutoEnforceTriangles ()
 
static void SetAutoCalculateNormals (Bool_t f)
 
static void SetAutoEnforceTriangles (Bool_t f)
 
- Static Public Member Functions inherited from TGeoBBox
static Bool_t AreOverlapping (const TGeoBBox *box1, const TGeoMatrix *mat1, const TGeoBBox *box2, const TGeoMatrix *mat2) R__DEPRECATED(6
 Check if 2 positioned boxes overlap.
 
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static Bool_t Contains (const Double_t *point, Double_t dx, Double_t dy, Double_t dz, const Double_t *origin)
 Static method to check if point[3] is located inside a box of having dx, dy, dz as half-lengths.
 
static const char * DeclFileName ()
 
static Double_t DistFromInside (const Double_t *point, const Double_t *dir, Double_t dx, Double_t dy, Double_t dz, const Double_t *origin, Double_t stepmax=TGeoShape::Big())
 Compute distance from inside point to surface of the box.
 
static Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Double_t dx, Double_t dy, Double_t dz, const Double_t *origin, Double_t stepmax=TGeoShape::Big())
 Compute distance from outside point to surface of the box.
 
- Static Public Member Functions inherited from TGeoShape
static Double_t Big ()
 
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static Double_t ComputeEpsMch ()
 Compute machine round-off double precision error as the smallest number that if added to 1.0 is different than 1.0.
 
static const char * DeclFileName ()
 
static Double_t DistToPhiMin (const Double_t *point, const Double_t *dir, Double_t s1, Double_t c1, Double_t s2, Double_t c2, Double_t sm, Double_t cm, Bool_t in=kTRUE)
 compute distance from point (inside phi) to both phi planes. Return minimum.
 
static Double_t EpsMch ()
 static function returning the machine round-off error
 
static TGeoMatrixGetTransform ()
 Returns current transformation matrix that applies to shape.
 
static Bool_t IsCloseToPhi (Double_t epsil, const Double_t *point, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
 True if point is closer than epsil to one of the phi planes defined by c1,s1 or c2,s2.
 
static Bool_t IsCrossingSemiplane (const Double_t *point, const Double_t *dir, Double_t cphi, Double_t sphi, Double_t &snext, Double_t &rxy)
 Compute distance from POINT to semiplane defined by PHI angle along DIR.
 
static Bool_t IsInPhiRange (const Double_t *point, Double_t phi1, Double_t phi2)
 Static method to check if a point is in the phi range (phi1, phi2) [degrees].
 
static Bool_t IsSameWithinTolerance (Double_t a, Double_t b)
 Check if two numbers differ with less than a tolerance.
 
static Bool_t IsSegCrossing (Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3, Double_t x4, Double_t y4)
 Check if segments (A,B) and (C,D) are crossing, where: A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4)
 
static void NormalPhi (const Double_t *point, const Double_t *dir, Double_t *norm, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
 Static method to compute normal to phi planes.
 
static Double_t SafetyPhi (const Double_t *point, Bool_t in, Double_t phi1, Double_t phi2)
 Static method to compute safety w.r.t a phi corner defined by cosines/sines of the angles phi1, phi2.
 
static Double_t SafetySeg (Double_t r, Double_t z, Double_t r1, Double_t z1, Double_t r2, Double_t z2, Bool_t outer)
 Compute distance from point of coordinates (r,z) to segment (r1,z1):(r2,z2)
 
static void SetTransform (TGeoMatrix *matrix)
 Set current transformation matrix that applies to shape.
 
static Double_t Tolerance ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Protected Member Functions

Int_t CheckPoints (const UInt_t *source, UInt_t *dest) const
 CheckPoints.
 
void FillBuffer3D (TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const override
 Fill the passed buffer 3D.
 
void SetFromBuff3D (const TBuffer3D &buffer)
 Set data-members from a Csg mesh.
 
- Protected Member Functions inherited from TGeoBBox
 TGeoBBox (const TGeoBBox &)=delete
 
void FillBuffer3D (TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const override
 Fills the supplied buffer, with sections in desired frame See TBuffer3D.h for explanation of sections, frame etc.
 
TGeoBBoxoperator= (const TGeoBBox &)=delete
 
- Protected Member Functions inherited from TGeoShape
Int_t GetBasicColor () const
 Get the basic color (0-7).
 
void SetOnBoundary (Bool_t)
 
void TransformPoints (Double_t *points, UInt_t NbPoints) const
 Tranform a set of points (LocalToMaster)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Static Protected Member Functions

static Bool_t Eq (const Double_t *p1, const Double_t *p2)
 Test equality of points with epsilon 1e-10.
 

Protected Attributes

Int_t fNbPols {0}
 
std::vector< Double_tfNormals
 
std::vector< UInt_tfPolyDesc
 
std::vector< Double_tfVertices
 
- Protected Attributes inherited from TGeoBBox
Double_t fDX
 
Double_t fDY
 
Double_t fDZ
 
Double_t fOrigin [3]
 
- Protected Attributes inherited from TGeoShape
UInt_t fShapeBits
 
Int_t fShapeId
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Static Protected Attributes

static Bool_t fgAutoCalculateNormals = kFALSE
 
static Bool_t fgAutoEnforceTriangles = kTRUE
 

Private Member Functions

 REveGeoPolyShape (const REveGeoPolyShape &)=delete
 
REveGeoPolyShapeoperator= (const REveGeoPolyShape &)=delete
 

Additional Inherited Members

- Public Types inherited from TGeoShape
enum  EShapeType {
  kBitMask32 = 0xffffffff , kGeoNoShape = 0 , kGeoBad = (1ULL << ( 0 )) , kGeoRSeg = (1ULL << ( 1 )) ,
  kGeoPhiSeg = (1ULL << ( 2 )) , kGeoThetaSeg = (1ULL << ( 3 )) , kGeoVisX = (1ULL << ( 4 )) , kGeoVisY = (1ULL << ( 5 )) ,
  kGeoVisZ = (1ULL << ( 6 )) , kGeoRunTimeShape = (1ULL << ( 7 )) , kGeoInvalidShape = (1ULL << ( 8 )) , kGeoTorus = (1ULL << ( 9 )) ,
  kGeoBox = (1ULL << ( 10 )) , kGeoPara = (1ULL << ( 11 )) , kGeoSph = (1ULL << ( 12 )) , kGeoTube = (1ULL << ( 13 )) ,
  kGeoTubeSeg = (1ULL << ( 14 )) , kGeoCone = (1ULL << ( 15 )) , kGeoConeSeg = (1ULL << ( 16 )) , kGeoPcon = (1ULL << ( 17 )) ,
  kGeoPgon = (1ULL << ( 18 )) , kGeoArb8 = (1ULL << ( 19 )) , kGeoEltu = (1ULL << ( 20 )) , kGeoTrap = (1ULL << ( 21 )) ,
  kGeoCtub = (1ULL << ( 22 )) , kGeoTrd1 = (1ULL << ( 23 )) , kGeoTrd2 = (1ULL << ( 24 )) , kGeoComb = (1ULL << ( 25 )) ,
  kGeoClosedShape = (1ULL << ( 26 )) , kGeoXtru = (1ULL << ( 27 )) , kGeoParaboloid = (1ULL << ( 28 )) , kGeoHalfSpace = (1ULL << ( 29 )) ,
  kGeoHype = (1ULL << ( 30 )) , kGeoSavePrimitive = (1ULL << ( 20 ))
}
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Public Attributes inherited from TGeoBBox
static Bool_t DO NOT USE !The overlap detection does not work for all cases
 
static Bool_t DEPRECATED
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

#include <ROOT/REveGeoPolyShape.hxx>

Inheritance diagram for ROOT::Experimental::REveGeoPolyShape:
[legend]

Constructor & Destructor Documentation

◆ REveGeoPolyShape() [1/2]

ROOT::Experimental::REveGeoPolyShape::REveGeoPolyShape ( const REveGeoPolyShape )
privatedelete

◆ REveGeoPolyShape() [2/2]

ROOT::Experimental::REveGeoPolyShape::REveGeoPolyShape ( )
default

◆ ~REveGeoPolyShape()

ROOT::Experimental::REveGeoPolyShape::~REveGeoPolyShape ( )
overridedefault

Member Function Documentation

◆ BuildFromComposite()

void REveGeoPolyShape::BuildFromComposite ( TGeoCompositeShape cshp,
Int_t  n_seg = 60 
)

Produce all polygons from composite shape.

Definition at line 92 of file REveGeoPolyShape.cxx.

◆ BuildFromShape()

void REveGeoPolyShape::BuildFromShape ( TGeoShape shape,
Int_t  n_seg = 60 
)

Produce all polygons from normal shape.

Definition at line 137 of file REveGeoPolyShape.cxx.

◆ CalculateNormals()

void REveGeoPolyShape::CalculateNormals ( )

CalculateNormals per polygon (flat shading)

Definition at line 277 of file REveGeoPolyShape.cxx.

◆ CheckPoints()

Int_t REveGeoPolyShape::CheckPoints ( const UInt_t source,
UInt_t dest 
) const
protected

CheckPoints.

Definition at line 314 of file REveGeoPolyShape.cxx.

◆ ClassDefOverride()

ROOT::Experimental::REveGeoPolyShape::ClassDefOverride ( REveGeoPolyShape  ,
 
)

◆ EnforceTriangles()

void REveGeoPolyShape::EnforceTriangles ( )

Use GLU tesselator to replace all polygons with N > 3 with triangles.

After this call polygon descriptions are changed. New vertices are not expected – exception is thrown if this is requested by the triangulator. Support for adding of new vertices can be provided.

Definition at line 264 of file REveGeoPolyShape.cxx.

◆ Eq()

Bool_t REveGeoPolyShape::Eq ( const Double_t p1,
const Double_t p2 
)
staticprotected

Test equality of points with epsilon 1e-10.

Definition at line 347 of file REveGeoPolyShape.cxx.

◆ FillBuffer3D()

void REveGeoPolyShape::FillBuffer3D ( TBuffer3D buffer,
Int_t  reqSections,
Bool_t  localFrame 
) const
overrideprotectedvirtual

Fill the passed buffer 3D.

Reimplemented from TGeoShape.

Definition at line 358 of file REveGeoPolyShape.cxx.

◆ FillRenderData()

void REveGeoPolyShape::FillRenderData ( REveRenderData rd)

Definition at line 159 of file REveGeoPolyShape.cxx.

◆ GetAutoCalculateNormals()

Bool_t REveGeoPolyShape::GetAutoCalculateNormals ( )
static

Definition at line 43 of file REveGeoPolyShape.cxx.

◆ GetAutoEnforceTriangles()

Bool_t REveGeoPolyShape::GetAutoEnforceTriangles ( )
static

Definition at line 41 of file REveGeoPolyShape.cxx.

◆ GetBuffer3D()

const TBuffer3D & REveGeoPolyShape::GetBuffer3D ( Int_t  reqSections,
Bool_t  localFrame 
) const
overridevirtual

Fill static buffer 3D.

Reimplemented from TGeoShape.

Definition at line 427 of file REveGeoPolyShape.cxx.

◆ GetNumFaces()

Int_t ROOT::Experimental::REveGeoPolyShape::GetNumFaces ( ) const
inline

Definition at line 72 of file REveGeoPolyShape.hxx.

◆ MakeBuffer3D()

TBuffer3D * REveGeoPolyShape::MakeBuffer3D ( ) const
overridevirtual

Create buffer 3D and fill it with point/segment/poly data.

Reimplemented from TGeoShape.

Definition at line 439 of file REveGeoPolyShape.cxx.

◆ operator=()

REveGeoPolyShape & ROOT::Experimental::REveGeoPolyShape::operator= ( const REveGeoPolyShape )
privatedelete

◆ SetAutoCalculateNormals()

void REveGeoPolyShape::SetAutoCalculateNormals ( Bool_t  f)
static

Definition at line 42 of file REveGeoPolyShape.cxx.

◆ SetAutoEnforceTriangles()

void REveGeoPolyShape::SetAutoEnforceTriangles ( Bool_t  f)
static

Definition at line 40 of file REveGeoPolyShape.cxx.

◆ SetFromBuff3D()

void REveGeoPolyShape::SetFromBuff3D ( const TBuffer3D buffer)
protected

Set data-members from a Csg mesh.

Definition at line 187 of file REveGeoPolyShape.cxx.

Member Data Documentation

◆ fgAutoCalculateNormals

Bool_t REveGeoPolyShape::fgAutoCalculateNormals = kFALSE
staticprotected

Definition at line 65 of file REveGeoPolyShape.hxx.

◆ fgAutoEnforceTriangles

Bool_t REveGeoPolyShape::fgAutoEnforceTriangles = kTRUE
staticprotected

Definition at line 64 of file REveGeoPolyShape.hxx.

◆ fNbPols

Int_t ROOT::Experimental::REveGeoPolyShape::fNbPols {0}
protected

Definition at line 38 of file REveGeoPolyShape.hxx.

◆ fNormals

std::vector<Double_t> ROOT::Experimental::REveGeoPolyShape::fNormals
protected

Definition at line 36 of file REveGeoPolyShape.hxx.

◆ fPolyDesc

std::vector<UInt_t> ROOT::Experimental::REveGeoPolyShape::fPolyDesc
protected

Definition at line 37 of file REveGeoPolyShape.hxx.

◆ fVertices

std::vector<Double_t> ROOT::Experimental::REveGeoPolyShape::fVertices
protected

Definition at line 35 of file REveGeoPolyShape.hxx.

Libraries for ROOT::Experimental::REveGeoPolyShape:

The documentation for this class was generated from the following files: