ROOT
6.06/09
Reference Guide
|
Implements a native ROOT-GL representation of an arbitrary set of polygons.
Definition at line 25 of file TGLFaceSet.h.
Public Member Functions | |
TGLFaceSet (const TBuffer3D &buffer) | |
constructor More... | |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
Debug tracing. More... | |
void | SetFromMesh (const RootCsg::TBaseMesh *m) |
Should only be done on an empty faceset object. More... | |
void | CalculateNormals () |
CalculateNormals. More... | |
void | EnforceTriangles () |
Use GLU tesselator to replace all polygons with N > 3 with triangles. More... | |
std::vector< Double_t > & | GetVertices () |
std::vector< Double_t > & | GetNormals () |
std::vector< Int_t > & | GetPolyDesc () |
UInt_t | GetNbPols () |
Public Member Functions inherited from TGLLogicalShape | |
TGLLogicalShape () | |
Constructor. More... | |
TGLLogicalShape (TObject *obj) | |
Constructor with external object. More... | |
TGLLogicalShape (const TBuffer3D &buffer) | |
Constructor from TBuffer3D. More... | |
virtual | ~TGLLogicalShape () |
Destroy logical shape. More... | |
UInt_t | Ref () const |
void | AddRef (TGLPhysicalShape *phys) const |
Add reference to given physical shape. More... | |
void | SubRef (TGLPhysicalShape *phys) const |
Remove reference to given physical shape, potentially deleting this object when hitting zero ref-count (if fRefStrong is true). More... | |
void | StrongRef (Bool_t strong) const |
void | DestroyPhysicals () |
Destroy all physicals attached to this logical. More... | |
UInt_t | UnrefFirstPhysical () |
Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else. More... | |
const TGLPhysicalShape * | GetFirstPhysical () const |
TObject * | ID () const |
TObject * | GetExternal () const |
TGLScene * | GetScene () const |
const TGLBoundingBox & | BoundingBox () const |
virtual void | UpdateBoundingBox () |
void | UpdateBoundingBoxesOfPhysicals () |
Update bounding-boxed of all dependent physicals. More... | |
Bool_t | SetDLCache (Bool_t cached) |
Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw. More... | |
virtual Bool_t | ShouldDLCache (const TGLRnrCtx &rnrCtx) const |
Returns kTRUE if draws should be display list cached kFALSE otherwise. More... | |
virtual UInt_t | DLOffset (Short_t) const |
virtual void | DLCacheClear () |
Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved ids from GL context. More... | |
virtual void | DLCacheDrop () |
Drop all entries for all LODs for this drawable from the display list cache, WITHOUT returning the reserved ids to GL context. More... | |
virtual void | DLCachePurge () |
Purge all entries for all LODs for this drawable from the display list cache, returning the reserved ids to GL context. More... | |
virtual ELODAxes | SupportedLODAxes () const |
virtual Short_t | QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD) const |
Logical shapes usually support only discreet LOD values, especially in view of display-list caching. More... | |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Draw the GL drawable, using draw flags. More... | |
virtual void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const |
Draw the logical shape in highlight mode. More... | |
virtual Bool_t | IgnoreSizeForOfInterest () const |
Return true if size of this shape should be ignored when determining if the object should be drawn. More... | |
virtual Bool_t | KeepDuringSmartRefresh () const |
virtual Bool_t | SupportsSecondarySelect () const |
virtual Bool_t | AlwaysSecondarySelect () const |
virtual void | ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) |
Virtual method called-back after a secondary selection hit is recorded (see TGLViewer::HandleButton(), Ctrl-Button1). More... | |
void | InvokeContextMenu (TContextMenu &menu, UInt_t x, UInt_t y) const |
Invoke popup menu or our bound external TObject (if any), using passed 'menu' object, at location 'x' 'y'. More... | |
Static Public Member Functions | |
static Bool_t | GetEnforceTriangles () |
Get current state of static flag EnforceTriangles. More... | |
static void | SetEnforceTriangles (Bool_t e) |
Set state of static flag EnforceTriangles. More... | |
Static Public Member Functions inherited from TGLLogicalShape | |
static Bool_t | GetIgnoreSizeForCameraInterest () |
Get state of static fgIgnoreSizeForCameraInterest flag. More... | |
static void | SetIgnoreSizeForCameraInterest (Bool_t isfci) |
Set state of static fgIgnoreSizeForCameraInterest flag. More... | |
Private Member Functions | |
void | GLDrawPolys () const |
Int_t | CheckPoints (const Int_t *source, Int_t *dest) const |
CheckPoints. More... | |
Static Private Member Functions | |
static Bool_t | Eq (const Double_t *p1, const Double_t *p2) |
test equality More... | |
Private Attributes | |
std::vector< Double_t > | fVertices |
std::vector< Double_t > | fNormals |
std::vector< Int_t > | fPolyDesc |
UInt_t | fNbPols |
Static Private Attributes | |
static Bool_t | fgEnforceTriangles = kFALSE |
Additional Inherited Members | |
Public Types inherited from TGLLogicalShape | |
enum | ELODAxes { kLODAxesNone = 0, kLODAxesX = 1 << 0, kLODAxesY = 1 << 1, kLODAxesZ = 1 << 2, kLODAxesAll = kLODAxesX | kLODAxesY | kLODAxesZ } |
Protected Member Functions inherited from TGLLogicalShape | |
void | PurgeDLRange (UInt_t base, Int_t size) const |
External object is a fake. More... | |
Protected Attributes inherited from TGLLogicalShape | |
UInt_t | fRef |
TGLPhysicalShape * | fFirstPhysical |
physical instance ref counting More... | |
TObject * | fExternalObj |
first replica More... | |
TGLBoundingBox | fBoundingBox |
Also plays the role of ID. More... | |
TGLScene * | fScene |
Shape's bounding box. More... | |
UInt_t | fDLBase |
scene where object is stored (can be zero!) More... | |
Int_t | fDLSize |
display-list id base More... | |
UShort_t | fDLValid |
display-list size for different LODs More... | |
Bool_t | fDLCache |
display-list validity bit-field More... | |
Bool_t | fRefStrong |
use display list caching More... | |
Bool_t | fOwnExtObj |
Strong ref (delete on 0 ref); not in scene. More... | |
Static Protected Attributes inherited from TGLLogicalShape | |
static Bool_t | fgIgnoreSizeForCameraInterest = kFALSE |
#include <TGLFaceSet.h>
TGLFaceSet::TGLFaceSet | ( | const TBuffer3D & | buffer | ) |
constructor
Definition at line 58 of file TGLFaceSet.cxx.
void TGLFaceSet::CalculateNormals | ( | ) |
CalculateNormals.
Definition at line 396 of file TGLFaceSet.cxx.
Referenced by SetFromMesh(), and TGLFaceSet().
void TGLFaceSet::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 176 of file TGLFaceSet.cxx.
Referenced by SetFromMesh(), and TGLFaceSet().
|
static |
Get current state of static flag EnforceTriangles.
Definition at line 430 of file TGLFaceSet.cxx.
|
inline |
Definition at line 47 of file TGLFaceSet.h.
Referenced by TEveGeoPolyShape::SetFromFaceSet().
|
inline |
Definition at line 45 of file TGLFaceSet.h.
|
inline |
Definition at line 46 of file TGLFaceSet.h.
Referenced by TEveGeoPolyShape::SetFromFaceSet().
|
inline |
Definition at line 44 of file TGLFaceSet.h.
Referenced by TEveGeoPolyShape::SetFromFaceSet().
|
private |
Set state of static flag EnforceTriangles.
When this is set, all tesselations will be automatically converted into triangle-only meshes. This is needed to export TGeo shapes and CSG meshes to external triangle-mesh libraries that can not handle arbitrary polygons.
Definition at line 442 of file TGLFaceSet.cxx.
void TGLFaceSet::SetFromMesh | ( | const RootCsg::TBaseMesh * | m | ) |
Should only be done on an empty faceset object.
Definition at line 134 of file TGLFaceSet.cxx.
Referenced by TGLScenePad::CloseComposite().
Definition at line 33 of file TGLFaceSet.h.
Referenced by GetEnforceTriangles(), SetEnforceTriangles(), SetFromMesh(), and TGLFaceSet().
|
private |
Definition at line 31 of file TGLFaceSet.h.
Referenced by CalculateNormals(), DirectDraw(), EnforceTriangles(), GetNbPols(), SetFromMesh(), and TGLFaceSet().
|
private |
Definition at line 29 of file TGLFaceSet.h.
Referenced by CalculateNormals(), DirectDraw(), and GetNormals().
|
private |
Definition at line 30 of file TGLFaceSet.h.
Referenced by CalculateNormals(), DirectDraw(), EnforceTriangles(), GetPolyDesc(), SetFromMesh(), and TGLFaceSet().
|
private |
Definition at line 28 of file TGLFaceSet.h.
Referenced by CalculateNormals(), CheckPoints(), DirectDraw(), EnforceTriangles(), GetVertices(), and SetFromMesh().