ROOT logo
ROOT » GRAF3D » EVE » TEveTriangleSet

class TEveTriangleSet: public TEveElementList, public TAtt3D, public TAttBBox


 Made from a list of vertices and a list of triangles (triplets of
 vertex indices).

 If input is composed from triangles with direct vertex coordinates
 one should consider finding all occurences of the same vertex
 and specifying it only once.

Function Members (Methods)

public:
TEveTriangleSet(Int_t nv, Int_t nt, Bool_t norms = kFALSE, Bool_t cols = kFALSE)
virtual~TEveTriangleSet()
voidTObject::AbstractMethod(const char* method) const
virtual Bool_tTEveElementList::AcceptElement(TEveElement* el)
virtual voidTEveElement::AddElement(TEveElement* el)
virtual TGListTreeItem*TEveElement::AddIntoListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*TEveElement::AddIntoListTree(TGListTree* ltree, TEveElement* parent)
virtual TGListTreeItem*TEveElement::AddIntoListTrees(TEveElement* parent)
virtual voidTEveElement::AddParent(TEveElement* re)
virtual voidTEveProjectable::AddProjected(TEveProjected* p)
virtual voidTEveProjectable::AddProjectedsToSet(set<TEveElement*>& set)
virtual voidTEveElement::AddStamp(UChar_t bits)
virtual voidTEveElement::Annihilate()
virtual voidTEveElement::AnnihilateElements()
virtual voidTEveProjectable::AnnihilateProjecteds()
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tTEveElement::ApplyVizTag(const TString& tag, const TString& fallback_tag = "")
Float_t*TAttBBox::AssertBBox()
TEveElement::List_iTEveElement::BeginChildren()
TEveElement::List_ciTEveElement::BeginChildren() const
TEveElement::List_iTEveElement::BeginParents()
TEveElement::List_ciTEveElement::BeginParents() const
TEveProjectable::ProjList_iTEveProjectable::BeginProjecteds()
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tTEveElement::CanEditElement() const
virtual Bool_tTEveElement::CanEditMainColor() const
virtual Bool_tTEveElement::CanEditMainTrans() const
virtual Bool_tCanEditMainTransparency() const
virtual voidTEveElement::CheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual voidTEveProjectable::ClearProjectedList()
virtual voidTEveElement::ClearStamps()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual voidTEveElement::CloneChildrenRecurse(TEveElement* dest, Int_t level = 0) const
virtual TEveElementList*TEveElementList::CloneElement() const
virtual TEveElement*TEveElement::CloneElementRecurse(Int_t level = 0) const
virtual voidTEveElement::CollectSceneParents(TEveElement::List_t& scenes)
virtual voidTEveElement::CollectSceneParentsFromChildren(TEveElement::List_t& scenes, TEveElement* parent)
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidComputeBBox()
virtual voidTNamed::Copy(TObject& named) const
virtual voidTEveElement::CopyVizParams(const TEveElement* el)
virtual voidTEveElement::CopyVizParamsFromDB()
voidTEveElement::CSCApplyMainColorToAllChildren()
voidTEveElement::CSCApplyMainColorToMatchingChildren()
voidTEveElement::CSCApplyMainTransparencyToAllChildren()
voidTEveElement::CSCApplyMainTransparencyToMatchingChildren()
voidTEveElement::CSCImplySelectAllChildren()
voidTEveElement::CSCTakeAnyParentAsMaster()
voidTEveElement::DecDenyDestroy()
virtual voidTEveElement::DecImpliedHighlighted()
virtual voidTEveElement::DecImpliedSelected()
voidTEveElement::DecParentIgnoreCnt()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidTEveElement::Destroy()MENU
virtual voidTEveElement::DestroyElements()MENU
virtual voidTEveElement::DestroyListSubTree(TGListTree* ltree, TGListTreeItem* parent)
virtual voidTEveElement::DestroyMainTrans()
virtual voidTEveElement::DestroyOrWarn()
voidTEveElement::DisableListElements(Bool_t rnr_self = kFALSE, Bool_t rnr_children = kFALSE)MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidTEveElement::DumpSourceObject() constMENU
virtual voidTEveElement::ElementChanged(Bool_t update_scenes = kTRUE, Bool_t redraw = kFALSE)
voidTEveElement::EnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE)MENU
TEveElement::List_iTEveElement::EndChildren()
TEveElement::List_ciTEveElement::EndChildren() const
TEveElement::List_iTEveElement::EndParents()
TEveElement::List_ciTEveElement::EndParents() const
TEveProjectable::ProjList_iTEveProjectable::EndProjecteds()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTEveElement::ExpandIntoListTree(TGListTree* ltree, TGListTreeItem* parent)
voidTEveElement::ExportSourceObjectToCINT(char* var_name) constMENU
virtual voidTEveElement::ExportToCINT(char* var_name)MENU
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual voidTEveElement::FillImpliedSelectedSet(TEveElement::Set_t& impSelSet)
TEveElement*TEveElement::FindChild(const TString& name, const TClass* cls = 0)
TEveElement*TEveElement::FindChild(TPRegexp& regexp, const TClass* cls = 0)
Int_tTEveElement::FindChildren(TEveElement::List_t& matches, const TString& name, const TClass* cls = 0)
Int_tTEveElement::FindChildren(TEveElement::List_t& matches, TPRegexp& regexp, const TClass* cls = 0)
virtual TEveElement::sLTI_iTEveElement::FindItem(TGListTree* ltree)
virtual TEveElement::sLTI_iTEveElement::FindItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*TEveElement::FindListTreeItem(TGListTree* ltree)
virtual TGListTreeItem*TEveElement::FindListTreeItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tTEveElement::FindVizModel()
TEveElement*TEveElement::FirstChild() const
virtual TEveElement*TEveElement::ForwardEdit()
virtual TEveElement*TEveElement::ForwardSelection()
voidGenerateRandomColors()
voidGenerateTriangleNormals()
voidGenerateZNormalColors(Float_t fac = 20, Int_t min = -20, Int_t max = 20, Bool_t interp = kFALSE, Bool_t wrap = kFALSE)
Float_t*TAttBBox::GetBBox()
Bool_tTAttBBox::GetBBoxOK() const
UChar_tTEveElement::GetChangeBits() const
TClass*TEveElementList::GetChildClass() const
TEveCompound*TEveElement::GetCompound()
Int_tTEveElement::GetDenyDestroy() const
Bool_tTEveElement::GetDestroyOnZeroRefCnt() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TObject*TEveElement::GetEditorObject(const TEveException& eh) const
virtual const char*TEveElementList::GetElementName() const
virtual const char*TEveElementList::GetElementTitle() const
virtual TStringTEveElement::GetHighlightTooltip()
virtual const char*TObject::GetIconName() const
virtual const TGPicture*TEveElement::GetListTreeCheckBoxIcon()
virtual const TGPicture*TEveElement::GetListTreeIcon(Bool_t open = kFALSE)
virtual Color_tTEveElement::GetMainColor() const
Color_t*TEveElement::GetMainColorPtr() const
virtual Char_tTEveElement::GetMainTransparency() const
TEveElement*TEveElement::GetMaster()
virtual const char*TNamed::GetName() const
virtual Int_tTEveElement::GetNItems() const
Int_tGetNTrings() const
Int_tGetNVerts() const
virtual TObject*TEveElementList::GetObject(const TEveException& = "TEveElementList::GetObject ") const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tTEveElement::GetParentIgnoreCnt() const
virtual TObject*TEveElement::GetRenderObject(const TEveException& eh) const
virtual Bool_tTEveElement::GetRnrAnything() const
virtual Bool_tTEveElement::GetRnrChildren() const
virtual Bool_tTEveElement::GetRnrSelf() const
virtual Bool_tTEveElement::GetRnrState() const
virtual UChar_tTEveElement::GetSelectedLevel() const
TRef&TEveElement::GetSource()
TObject*TEveElement::GetSourceObject() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
void*TEveElement::GetUserData() const
TEveElement*TEveElement::GetVizModel() const
const TString&TEveElement::GetVizTag() const
virtual Bool_tTEveElement::HandleElementPaste(TEveElement* el)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tTEveElement::HasChild(TEveElement* el)
Bool_tTEveElement::HasChildren() const
virtual ULong_tTNamed::Hash() const
virtual Bool_tTEveElement::HasMainColor() const
virtual Bool_tTEveElement::HasMainTrans() const
Bool_tTEveElement::HasParents() const
virtual Bool_tTEveProjectable::HasProjecteds() const
virtual voidTEveElement::HighlightElement(Bool_t state)
voidTEveElement::IncDenyDestroy()
virtual voidTEveElement::IncImpliedHighlighted()
virtual voidTEveElement::IncImpliedSelected()
voidTEveElement::IncParentIgnoreCnt()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTEveElement::InitMainTrans(Bool_t can_edit = kTRUE)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tTEveElement::IsPickable() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
TEveElement*TEveElement::LastChild() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTEveElement::NameTitleChanged()
virtual Bool_tTObject::Notify()
Int_tTEveElement::NumChildren() const
Int_tTEveElement::NumParents() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTEveElement::PadPaint(Option_t* option)
virtual voidPaint(Option_t* option = "")
virtual voidTEveElement::PaintStandard(TObject* id)
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidTEveElement::PrintSourceObject() constMENU
virtual voidTEveElement::ProjectAllChildren(Bool_t same_depth = kTRUE)
virtual voidTEveElement::ProjectChild(TEveElement* el, Bool_t same_depth = kTRUE)
virtual TClass*TEveElementList::ProjectedClass(const TEveProjection* p) const
virtual voidTEveProjectable::PropagateMainColor(Color_t color, Color_t old_color)
virtual voidTEveElement::PropagateMainColorToProjecteds(Color_t color, Color_t old_color)
virtual voidTEveProjectable::PropagateMainTransparency(Char_t t, Char_t old_t)
virtual voidTEveElement::PropagateMainTransparencyToProjecteds(Char_t t, Char_t old_t)
virtual voidTEveProjectable::PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children)
virtual voidTEveElement::PropagateRnrStateToProjecteds()
virtual voidTEveProjectable::PropagateVizParams(TEveElement* el = 0)
virtual voidTEveElement::PropagateVizParamsToElements(TEveElement* el = 0)
virtual voidTEveElement::PropagateVizParamsToProjecteds()
virtual TEveTrans*TEveElement::PtrMainTrans(Bool_t create = kTRUE)
virtual Int_tTObject::Read(const char* name)
static TEveTriangleSet*ReadTrivialFile(const char* file)
voidTEveElement::RecheckImpliedSelections()
virtual voidTObject::RecursiveRemove(TObject* obj)
const TEveElement::List_t&TEveElement::RefChildren() const
virtual TEveTrans&TEveElement::RefMainTrans()
virtual voidTEveElement::RemoveElement(TEveElement* el)
virtual voidTEveElement::RemoveElementLocal(TEveElement* el)
virtual voidTEveElement::RemoveElements()
virtual voidTEveElement::RemoveElementsLocal()
virtual Bool_tTEveElement::RemoveFromListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual Int_tTEveElement::RemoveFromListTrees(TEveElement* parent)
virtual voidTEveElement::RemoveParent(TEveElement* re)
virtual voidTEveProjectable::RemoveProjected(TEveProjected* p)
voidTEveElement::ResetAllCSCBits()
voidTAttBBox::ResetBBox()
voidTObject::ResetBit(UInt_t f)
voidTEveElement::ResetCSCBits(UChar_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTEveElement::SaveVizParams(ostream& out, const TString& tag, const TString& var)
virtual voidTEveElement::SelectElement(Bool_t state)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTEveElementList::SetChildClass(TClass* c)
voidTEveElement::SetCompound(TEveCompound* c)
voidTEveElement::SetCSCBits(UChar_t f)
voidTEveElement::SetDestroyOnZeroRefCnt(Bool_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTEveElement::SetEditMainColor(Bool_t x)
voidTEveElement::SetEditMainTransparency(Bool_t x)
virtual voidTEveElementList::SetElementName(const char* name)
virtual voidTEveElementList::SetElementNameTitle(const char* name, const char* title)
virtual voidTEveElementList::SetElementTitle(const char* title)
voidTEveElement::SetMainAlpha(Float_t alpha)
virtual voidTEveElement::SetMainColor(Color_t color)
voidTEveElement::SetMainColorPixel(Pixel_t pixel)
voidTEveElement::SetMainColorPtr(Color_t* color)
voidTEveElement::SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
voidTEveElement::SetMainColorRGB(Float_t r, Float_t g, Float_t b)
virtual voidTEveElement::SetMainTransparency(Char_t t)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidTEveElement::SetPickable(Bool_t p)
voidTEveElement::SetPickableRecursively(Bool_t p)
virtual Bool_tTEveElement::SetRnrChildren(Bool_t rnr)
virtual Bool_tTEveElement::SetRnrSelf(Bool_t rnr)
virtual Bool_tTEveElement::SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
virtual Bool_tTEveElement::SetRnrState(Bool_t rnr)
voidTEveElement::SetSourceObject(TObject* o)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTEveElement::SetTransMatrix(Double_t* carr)
virtual voidTEveElement::SetTransMatrix(const TGeoMatrix& mat)
voidSetTransparency(Char_t tr)MENU
voidSetTriangle(Int_t i, Int_t v0, Int_t v1, Int_t v2)
voidSetTriangleColor(Int_t i, UChar_t r, UChar_t g, UChar_t b, UChar_t a = 255)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTEveElement::SetUserData(void* ud)
voidSetVertex(Int_t i, Float_t x, Float_t y, Float_t z)
voidTEveElement::SetVizModel(TEveElement* model)
voidTEveElement::SetVizTag(const TString& tag)
virtual voidShowMembers(TMemberInspector&)
virtual Bool_tTEveElement::SingleRnrState() const
virtual Int_tTNamed::Sizeof() const
virtual voidTAtt3D::Sizeof3D() const
voidTEveElement::SpawnEditor()MENU
voidTEveElement::StampColorSelection()
voidTEveElement::StampObjProps()
voidTEveElement::StampTransBBox()
voidTEveElement::StampVisibility()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_tTEveElement::TestCSCBits(UChar_t f) const
Int_t*Triangle(Int_t i)
UChar_t*TriangleColor(Int_t i)
Float_t*TriangleNormal(Int_t i)
virtual voidTEveElement::UnHighlighted()
virtual voidTEveElement::UnSelected()
virtual voidTObject::UseCurrentStyle()
Float_t*Vertex(Int_t i)
voidTEveElement::VizDB_Apply(const char* tag)MENU
voidTEveElement::VizDB_Insert(const char* tag, Bool_t replace = kTRUE, Bool_t update = kTRUE)MENU
voidTEveElement::VizDB_Reapply()MENU
voidTEveElement::VizDB_UpdateModel(Bool_t update = kTRUE)MENU
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidTEveElement::WriteVizParams(ostream& out, const TString& var)
protected:
virtual voidTEveElement::AnnihilateRecursively()
voidTAttBBox::AssertBBoxExtents(Float_t epsilon = 0.005)
voidTAttBBox::BBoxCheckPoint(const Float_t* p)
voidTAttBBox::BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
voidTAttBBox::BBoxClear()
voidTAttBBox::BBoxInit(Float_t infinity = 1e6)
voidTAttBBox::BBoxZero(Float_t epsilon = 0, Float_t x = 0, Float_t y = 0, Float_t z = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
virtual voidTEveElement::PreDeleteElement()
virtual voidTEveElement::RemoveElementsInternal()
static const char*TEveElement::ToString(Bool_t b)

Data Members

protected:
Float_t*TAttBBox::fBBox! Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
UChar_tTEveElement::fCSCBits
Bool_tTEveElement::fCanEditMainColorAllow editing of main color.
Bool_tTEveElement::fCanEditMainTransAllow editing of main transformation.
Bool_tTEveElement::fCanEditMainTransparencyAllow editing of main transparency.
UChar_tTEveElement::fChangeBits!
TClass*TEveElementList::fChildClassClass of acceptable children, others are rejected.
list<TEveElement*>TEveElement::fChildrenList of children.
Color_tTEveElementList::fColorColor of the object.
TEveCompound*TEveElement::fCompoundCompound this object belongs to.
Int_tTEveElement::fDenyDestroy! Deny-destroy count.
Bool_tTEveElement::fDestroyOnZeroRefCntAuto-destruct when ref-count reaches zero.
Char_tTEveElement::fDestructing!
Bool_tTEveElement::fHighlighted!
Short_tTEveElement::fImpliedHighlighted!
Short_tTEveElement::fImpliedSelected!
set<TEveElement::TEveListTreeInfo,less<TEveElement::TEveListTreeInfo>,allocator<TEveElement::TEveListTreeInfo> >TEveElement::fItems! Set of list-tree-items.
Color_t*TEveElement::fMainColorPtrPointer to main-color variable.
TEveTrans*TEveElement::fMainTransPointer to main transformation matrix.
Char_tTEveElement::fMainTransparencyMain-transparency variable.
Int_tfNTrings
Int_tfNVerts
TStringTNamed::fNameobject identifier
Int_tTEveElement::fNumChildren!
Int_tTEveElement::fParentIgnoreCnt! Counter for parents that are ignored in ref-counting.
list<TEveElement*>TEveElement::fParentsList of parents.
Bool_tTEveElement::fPickable
list<TEveProjected*>TEveProjectable::fProjectedListreferences to projected instances.
Bool_tTEveElement::fRnrChildrenRender children of this element.
Bool_tTEveElement::fRnrSelfRender this element.
Bool_tTEveElement::fSelected!
TRefTEveElement::fSourceExternal object that is represented by this element.
TStringTNamed::fTitleobject title
Int_tTEveElement::fTopItemCnt! Counter for top-level list-tree items that prevent automatic destruction.
UChar_t*fTringCols[3*fNTrings]
Float_t*fTringNorms[3*fNTrings]
Int_t*fTrings[3*fNTrings]
void*TEveElement::fUserData! Externally assigned and controlled user data.
Float_t*fVerts[3*fNVerts]
TEveElement*TEveElement::fVizModel! Element used as model from VizDB.
TStringTEveElement::fVizTagTag used to query VizDB for model element.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEveTriangleSet(Int_t nv, Int_t nt, Bool_t norms = kFALSE, Bool_t cols = kFALSE)
 Constructor.
~TEveTriangleSet()
 Destructor.
void GenerateTriangleNormals()
 Generate triangle normals via cross product of triangle edges.
void GenerateRandomColors()
 Assign random colors to all triangles.
void GenerateZNormalColors(Float_t fac = 20, Int_t min = -20, Int_t max = 20, Bool_t interp = kFALSE, Bool_t wrap = kFALSE)
 Generate triangle colors by the z-component of the normal.
 Current palette is taken from gStyle.
void ComputeBBox()
 Compute bounding box.
 Virtual from TAttBBox.
void Paint(Option_t* option = "")
 Paint this object. Only direct rendering is supported.
TEveTriangleSet* ReadTrivialFile(const char* file)
 Read a simple ascii input file describing vertices and triangles.
TEveTriangleSet(const TEveTriangleSet& )
TEveTriangleSet& operator=(const TEveTriangleSet& )
Bool_t CanEditMainTransparency() const
{ return kTRUE; }
Int_t GetNVerts() const
{ return fNVerts; }
Int_t GetNTrings() const
{ return fNTrings; }
Float_t* Vertex(Int_t i)
{ return &(fVerts[3*i]); }
Int_t* Triangle(Int_t i)
{ return &(fTrings[3*i]); }
Float_t* TriangleNormal(Int_t i)
{ return &(fTringNorms[3*i]); }
UChar_t* TriangleColor(Int_t i)
{ return &(fTringCols[3*i]); }
void SetVertex(Int_t i, Float_t x, Float_t y, Float_t z)
{ Float_t* v = Vertex(i); v[0] = x; v[1] = y; v[2] = z; }
void SetTriangle(Int_t i, Int_t v0, Int_t v1, Int_t v2)
{ Int_t* t = Triangle(i); t[0] = v0; t[1] = v1; t[2] = v2; }
void SetTriangleColor(Int_t i, UChar_t r, UChar_t g, UChar_t b, UChar_t a = 255)
{ UChar_t* c = TriangleColor(i); c[0] = r; c[1] = g; c[2] = b; c[3] = a; }
void SetTransparency(Char_t tr)