ROOT logo
Gled » VAR1 » HTriMesh

class HTriMesh: public TriMesh


 Hierarhical mesh

 Consists of:
 a) high-level hierarhical subdivision
    all hierarchy represented by a single TringTvor;
    nodes point into this tvor to identify triangles;
    ?? depth first or breadth first ??
    breadth first keeps triangles from a given level together
    - good for opcode, to construct full tree at some level;
      is this good? is it needed?
    - also good for rendering, as some level will be selected at a given
      distance (in space approach mode);
    depth first keeps one brach together
    - good for recursive queries / descends?
 b) low-level triangle soup attached to a leaf-node
    for now, keep all of them in own TringTvor

 In principle could have several a-like layers.
 Or simplify the thing by always having a single a-layer -- but this then
 leads to duplication of vertices.

 Hmmh ... aren't vertices always shared?
 Yes ... but at some point I'd like to move leaf-vertices into separate
 meshes, managed by separate tringulas.

 So? At this intermediate level ... what do I do?
 Duplicate a-level vertices when creating b-mesh -- to keep Tringula ok.
 Then, it will also become important if one sees Flyers -- checking whole
 bounding volume of the triangle. Hmm, all Extendios ... but they don't go
 that hight so one could just hack highest point.


Function Members (Methods)

public:
HTriMesh(const HTriMesh&)
HTriMesh(const Text_t* n = "HTriMesh", const Text_t* t = 0)
virtual~HTriMesh()
static void_gled_catalog_init()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual AList*ZGlass::AsAList()
voidTriMesh::AssertOpcStructs()
virtual voidTriMesh::AssertVertexColorArray()
voidTriMesh::AssertVertexConnections()
virtual voidTObject::Browse(TBrowser* b)
voidTriMesh::BuildOpcStructs()
voidTriMesh::BuildVertexConnections()
voidTriMesh::CalculateBoundingBox()
static TriMeshColorArraySource*TriMeshColorArraySource::CastLens(const Exc_t& eh, ZGlass* lens, Bool_t null_ok)
Bool_tZGlass::CheckBit(ZGlass::Bits_e bit) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual voidZGlass::ClearAllReferences()
voidZGlass::ClearLinks()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual voidTriMesh::ColorArraysModified()
voidTriMesh::ColorByCoord(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t fac = 1, Float_t offset = 0)
voidTriMesh::ColorByCoordFormula(RGBAPalette* pal, ZGlass* carr_src_lens = 0, const Text_t* formula = "z", Float_t min = 0, Float_t max = 10)
voidTriMesh::ColorByNormal(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t min = -1, Float_t max = 1)
voidTriMesh::ColorByNormalFormula(RGBAPalette* pal, ZGlass* carr_src_lens = 0, const Text_t* formula = "sqrt(x*x+y*y)", Float_t min = 0, Float_t max = 1)
voidTriMesh::ColorByParaSurfCoord(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t fac = 1, Float_t offset = 0)
voidTriMesh::ColorByParaSurfNormal(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t min = -1, Float_t max = 1)
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidCopyLinkRefs(lppZGlass_t& ref_list)
virtual voidCopyLinkReps(ZGlass::lLinkRep_t& link_rep_list)
virtual voidCopyLinks(lpZGlass_t& glass_list)
Short_tZGlass::DecEyeRefCount()
Short_tZGlass::DecRefCount(ZGlass* from, UShort_t n = 1)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tZGlass::DetachedThreadNice(const ZMIR* mir) const
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
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)
voidExecuteMir(ZMIR& mir)
voidTriMesh::ExportGTSurf(GTSurf* gts)
voidTriMesh::ExportPovMesh(const Text_t* fname, Bool_t smoothp = false)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
static FID_tFID()
Int_tTriMesh::FindClosestVertex(Int_t triangle, const Float_t* xyz, Float_t* sqr_dist = 0)
virtual ZGlass*ZGlass::FindLensByPath(const TString& url, bool throwp = false)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tTriMesh::FindPointFromFGH(const Float_t* fgh, Bool_t absolute_h, Float_t* xyz_out, Float_t* h_out = 0, Int_t* triangle_idx = 0)
Bool_tTriMesh::FindPointFromXYZH(const Float_t* xyz_in, Float_t h_in, Float_t* xyz_out, Float_t* h_out = 0, Int_t* triangle_idx = 0)
Bool_tTriMesh::FindTriangleExitPoint(Int_t triangle, const Float_t* xyz, const Float_t* dir, Float_t* xyz_out, Int_t* next_triangle = 0)
voidTriMesh::GenerateTriangleNormals()
voidTriMesh::GenerateVertexNormals()
Bool_tZGlass::GetAcceptRefs() const
ZImage*TriMesh::GetDefTexture()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
UShort_tZGlass::GetFireRefCount() const
UInt_tZGlass::GetGlassBits()
ZMirFilter*ZGlass::GetGuard()
virtual const char*TObject::GetIconName() const
virtual ZGlass*ZGlass::GetLinkByName(const TString& link_name)
Float_tTriMesh::GetM() const
Int_tGetMaxLevel() const
Bool_tZGlass::GetMIRActive() const
UShort_tZGlass::GetMoonRefCount() const
virtual const Text_t*ZGlass::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Opcode::MeshInterface*TriMesh::GetOPCMeshIf()
Opcode::Model*TriMesh::GetOPCModel()
virtual Option_t*TObject::GetOption() const
ParaSurf*TriMesh::GetParaSurf()
ZQueen*ZGlass::GetQueen()
UShort_tZGlass::GetRefCount() const
Saturn*ZGlass::GetSaturn()
ID_tZGlass::GetSaturnID() const
TimeStamp_tZGlass::GetStampReqTring() const
UShort_tZGlass::GetSunRefCount() const
Float_tTriMesh::GetSurface() const
TimeStamp_tZGlass::GetTimeStamp() const
virtual const Text_t*ZGlass::GetTitle() const
virtual UChar_t*TriMesh::GetTriangleColorArray()
TringTvor*TriMesh::GetTTvor()
virtual UInt_tTObject::GetUniqueID() const
Bool_tZGlass::GetUseDispList() const
Bool_tZGlass::GetUseNameStack() const
virtual UChar_t*TriMesh::GetVertexColorArray()
Float_tTriMesh::GetVolume() const
Float_tTriMesh::GetXYArea() const
static GledNS::ClassInfo*GlassInfo()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tTriMesh::HasVertexConnections()
TStringZGlass::Identify() const
voidTriMesh::ImportGTSurf(GTSurf* gts)
voidTriMesh::ImportOoliteDAT(const TString& filename, Bool_t invert_triangles = false)
voidTriMesh::ImportRectTerrain(RectTerrain* rt, Bool_t colp = true, Bool_t texp = false)
Short_tZGlass::IncEyeRefCount()
Short_tZGlass::IncRefCount(ZGlass* from)
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 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
virtual Bool_tTObject::IsSortable() const
boolZGlass::IsSunOrFireSpace()
boolZGlass::IsSunSpace()
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTriMesh::MakeBox(Float_t a = 5, Float_t b = 4, Float_t c = 3)
voidTriMesh::MakeIcosahedron()
voidTriMesh::MakeTetraChopper(Float_t l1 = 0.3, Float_t l2 = 0, Float_t l3 = 0.2, Float_t l4 = 0.8, Float_t w = 0.2, Float_t h = 0.2, Float_t wing_l1 = 0.4, Float_t wing_l2 = 0.8, Float_t wing_w = 0.12, Float_t wing_h = 0.02)
voidTriMesh::MakeTetraFlyer(Float_t l1 = 0.8, Float_t l2 = 0.2, Float_t w = 0.2, Float_t h = 0.2, Float_t wing_l1 = 0.4, Float_t wing_l2 = 0.1, Float_t wing_z = 0.01, Float_t wing_w = 0.8, Float_t wing_h = 0.02)
voidTriMesh::MakeTetrahedron(Float_t l1 = 0.8, Float_t l2 = 0.2, Float_t w = 0.4, Float_t h = 0.4)
voidTriMesh::MakeTetraMark(Float_t r0 = 0.5, Float_t h0 = 2, Float_t r1 = 3, Float_t w1 = 1, Float_t h1 = 0.05)
virtual voidZGlass::MarkStampReqTring()
voidTObject::MayNotUse(const char* method) const
static MID_tTriMesh::Mid_CalculateBoundingBox()
static MID_tTriMesh::Mid_ColorByCoord()
static MID_tTriMesh::Mid_ColorByCoordFormula()
static MID_tTriMesh::Mid_ColorByNormal()
static MID_tTriMesh::Mid_ColorByNormalFormula()
static MID_tTriMesh::Mid_ColorByParaSurfCoord()
static MID_tTriMesh::Mid_ColorByParaSurfNormal()
static MID_tTriMesh::Mid_ExportGTSurf()
static MID_tTriMesh::Mid_ExportPovMesh()
static MID_tTriMesh::Mid_GenerateTriangleNormals()
static MID_tTriMesh::Mid_GenerateVertexNormals()
static MID_tTriMesh::Mid_ImportGTSurf()
static MID_tTriMesh::Mid_ImportRectTerrain()
static MID_tTriMesh::Mid_MakeTetraChopper()
static MID_tTriMesh::Mid_MakeTetraFlyer()
static MID_tTriMesh::Mid_MakeTetrahedron()
static MID_tTriMesh::Mid_MakeTetraMark()
static MID_tMid_PrintLevels()
static MID_tZGlass::Mid_RebuildRnrScheme()
static MID_tZGlass::Mid_ReTriangulate()
static MID_tZGlass::Mid_SetAcceptRefs()
static MID_tTriMesh::Mid_SetCOM()
static MID_tTriMesh::Mid_SetCOMByRef()
static MID_tTriMesh::Mid_SetDefTexture()
static MID_tZGlass::Mid_SetGuard()
static MID_tTriMesh::Mid_SetJ()
static MID_tTriMesh::Mid_SetJByRef()
static MID_tTriMesh::Mid_SetM()
static MID_tZGlass::Mid_SetMIRActive()
static MID_tZGlass::Mid_SetName()
static MID_tTriMesh::Mid_SetParaSurf()
static MID_tTriMesh::Mid_SetSection()
static MID_tTriMesh::Mid_SetSectionByRef()
static MID_tZGlass::Mid_SetStampReqTring()
static MID_tTriMesh::Mid_SetSurface()
static MID_tZGlass::Mid_SetTimeStamp()
static MID_tZGlass::Mid_SetTitle()
static MID_tTriMesh::Mid_SetTTvor()
static MID_tZGlass::Mid_SetUseDispList()
static MID_tZGlass::Mid_SetUseDLRec()
static MID_tZGlass::Mid_SetUseNameStack()
static MID_tTriMesh::Mid_SetVolume()
static MID_tTriMesh::Mid_SetXYArea()
static MID_tZGlass::Mid_UpdateAllViews()
static MID_tZGlass::Mid_UpdateGlassView()
voidTriMesh::NormalizeVertices()
virtual Bool_tTObject::Notify()
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)
HTriMesh&operator=(const HTriMesh&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidPrintLevels() const
virtual Int_tTObject::Read(const char* name)
voidZGlass::ReadLock() const
voidZGlass::ReadUnlock() const
virtual Int_tZGlass::RebuildAllRefs(An_ID_Demangler* idd)
virtual Int_tRebuildLinkRefs(An_ID_Demangler* c)
voidZGlass::RebuildRnrScheme()
virtual voidTObject::RecursiveRemove(TObject* obj)
Opcode::AABB&TriMesh::ref_mesh_bbox()
const HPointF&TriMesh::RefCOM() const
const vector<Int_t>&TriMesh::RefECursVec() const
const vector<TriMesh::EdgeData>&TriMesh::RefEDataVec() const
const HPointF&TriMesh::RefJ() const
const HTriMesh::vHLevel_t&RefLevels() const
const TString&ZGlass::RefName() const
const HPointF&TriMesh::RefSection() const
const TString&ZGlass::RefTitle() const
const vector<TriMesh::VertexData>&TriMesh::RefVDataVec() const
voidZGlass::register_name_change_cb(ZGlass::NameChangeCB* nccb)
voidZGlass::register_ray_absorber(ZGlass::RayAbsorber* ra)
Int_tZGlass::RemoveReferencesTo(ZGlass* lens)
voidTObject::ResetBit(UInt_t f)
virtual voidTriMesh::ResetTTvorDependants()
voidZGlass::ReTriangulate()
ZMIR*TriMesh::S_CalculateBoundingBox()
ZMIR*TriMesh::S_ColorByCoord(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t fac = 1, Float_t offset = 0)
ZMIR*TriMesh::S_ColorByCoordFormula(RGBAPalette* pal, ZGlass* carr_src_lens = 0, const Text_t* formula = "z", Float_t min = 0, Float_t max = 10)
ZMIR*TriMesh::S_ColorByNormal(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t min = -1, Float_t max = 1)
ZMIR*TriMesh::S_ColorByNormalFormula(RGBAPalette* pal, ZGlass* carr_src_lens = 0, const Text_t* formula = "sqrt(x*x+y*y)", Float_t min = 0, Float_t max = 1)
ZMIR*TriMesh::S_ColorByParaSurfCoord(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t fac = 1, Float_t offset = 0)
ZMIR*TriMesh::S_ColorByParaSurfNormal(RGBAPalette* pal, ZGlass* carr_src_lens = 0, Int_t axis = 2, Float_t min = -1, Float_t max = 1)
ZMIR*TriMesh::S_ExportGTSurf(GTSurf* gts)
ZMIR*TriMesh::S_ExportPovMesh(const Text_t* fname, Bool_t smoothp = false)
ZMIR*TriMesh::S_GenerateTriangleNormals()
ZMIR*TriMesh::S_GenerateVertexNormals()
ZMIR*TriMesh::S_ImportGTSurf(GTSurf* gts)
ZMIR*TriMesh::S_ImportRectTerrain(RectTerrain* rt, Bool_t colp = true, Bool_t texp = false)
ZMIR*TriMesh::S_MakeTetraChopper(Float_t l1 = 0.3, Float_t l2 = 0, Float_t l3 = 0.2, Float_t l4 = 0.8, Float_t w = 0.2, Float_t h = 0.2, Float_t wing_l1 = 0.4, Float_t wing_l2 = 0.8, Float_t wing_w = 0.12, Float_t wing_h = 0.02)
ZMIR*TriMesh::S_MakeTetraFlyer(Float_t l1 = 0.8, Float_t l2 = 0.2, Float_t w = 0.2, Float_t h = 0.2, Float_t wing_l1 = 0.4, Float_t wing_l2 = 0.1, Float_t wing_z = 0.01, Float_t wing_w = 0.8, Float_t wing_h = 0.02)
ZMIR*TriMesh::S_MakeTetrahedron(Float_t l1 = 0.8, Float_t l2 = 0.2, Float_t w = 0.4, Float_t h = 0.4)
ZMIR*TriMesh::S_MakeTetraMark(Float_t r0 = 0.5, Float_t h0 = 2, Float_t r1 = 3, Float_t w1 = 1, Float_t h1 = 0.05)
ZMIR*S_PrintLevels()
ZMIR*ZGlass::S_RebuildRnrScheme()
ZMIR*ZGlass::S_ReTriangulate()
ZMIR*ZGlass::S_SetAcceptRefs(Bool_t acceptrefs)
ZMIR*TriMesh::S_SetCOM(Float_t x, Float_t y, Float_t z)
ZMIR*TriMesh::S_SetCOMByRef(const HPointF& com)
ZMIR*TriMesh::S_SetDefTexture(ZImage* deftexture)
ZMIR*ZGlass::S_SetGuard(ZMirFilter* guard)
ZMIR*TriMesh::S_SetJ(Float_t x, Float_t y, Float_t z)
ZMIR*TriMesh::S_SetJByRef(const HPointF& j)
ZMIR*TriMesh::S_SetM(Float_t m)
ZMIR*ZGlass::S_SetMIRActive(Bool_t miractive)
ZMIR*ZGlass::S_SetName(const Text_t* s)
ZMIR*TriMesh::S_SetParaSurf(ParaSurf* parasurf)
ZMIR*TriMesh::S_SetSection(Float_t x, Float_t y, Float_t z)
ZMIR*TriMesh::S_SetSectionByRef(const HPointF& section)
ZMIR*ZGlass::S_SetStampReqTring(TimeStamp_t stampreqtring)
ZMIR*TriMesh::S_SetSurface(Float_t surface)
ZMIR*ZGlass::S_SetTimeStamp(TimeStamp_t timestamp)
ZMIR*ZGlass::S_SetTitle(const Text_t* s)
ZMIR*TriMesh::S_SetTTvor(TringTvor* ttvor)
ZMIR*ZGlass::S_SetUseDispList(Bool_t usedisplist)
ZMIR*ZGlass::S_SetUseDLRec(Bool_t state)
ZMIR*ZGlass::S_SetUseNameStack(Bool_t usenamestack)
ZMIR*TriMesh::S_SetVolume(Float_t volume)
ZMIR*TriMesh::S_SetXYArea(Float_t xyarea)
ZMIR*ZGlass::S_UpdateAllViews()
ZMIR*ZGlass::S_UpdateGlassView()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTriMesh::ScaleVertices(Float_t s)
voidZGlass::SetAcceptRefs(Bool_t acceptrefs)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTriMesh::SetCOM(Float_t x, Float_t y, Float_t z)
voidTriMesh::SetCOMByRef(const HPointF& com)
voidTriMesh::SetDefTexture(ZImage* deftexture)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidZGlass::SetGuard(ZMirFilter* guard)
voidTriMesh::SetJ(Float_t x, Float_t y, Float_t z)
voidTriMesh::SetJByRef(const HPointF& j)
voidTriMesh::SetM(Float_t m)
voidTriMesh::SetMassAndSpeculate(Float_t mass, Float_t mass_frac_on_mesh = 0.4)
voidTriMesh::SetMassFromBBox(Float_t sfac, Float_t hfac, Float_t density, Float_t mass_frac_on_mesh = 0.4)
voidZGlass::SetMIRActive(Bool_t miractive)
voidZGlass::SetName(const Text_t* n)
static voidTObject::SetObjectStat(Bool_t stat)
voidTriMesh::SetParaSurf(ParaSurf* parasurf)
voidTriMesh::SetSection(Float_t x, Float_t y, Float_t z)
voidTriMesh::SetSectionByRef(const HPointF& section)
voidZGlass::SetStampReqTring(TimeStamp_t stampreqtring)
virtual voidZGlass::SetStamps(TimeStamp_t s)
voidTriMesh::SetSurface(Float_t surface)
voidZGlass::SetTimeStamp(TimeStamp_t timestamp)
voidZGlass::SetTitle(const Text_t* t)
voidTriMesh::SetTTvor(TringTvor* ttvor)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidZGlass::SetUseDispList(Bool_t usedisplist)
voidZGlass::SetUseDLRec(Bool_t state)
voidZGlass::SetUseNameStack(Bool_t usenamestack)
voidTriMesh::SetVolume(Float_t volume)
voidTriMesh::SetXYArea(Float_t xyarea)
virtual voidShowMembers(TMemberInspector& insp)
TimeStamp_tZGlass::Stamp()
virtual TimeStamp_tZGlass::Stamp(FID_t fid, UChar_t eye_bits = 0)
TimeStamp_tZGlass::StampLink()
virtual TimeStamp_tZGlass::StampLink(FID_t fid)
TimeStamp_tZGlass::StampLinkVFID()
virtual voidZGlass::StampReqTring(FID_t fid = FID_t(0,0))
TimeStamp_tZGlass::StampVFID()
voidTriMesh::StdDynamicoPostImport()
voidTriMesh::StdSurfacePostImport()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
TStringZGlass::StrName() const
TStringZGlass::StrTitle() const
voidSubdivide(Int_t n_hierarhical, Int_t n_leaf)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidZGlass::unregister_name_change_cb(ZGlass::NameChangeCB* nccb)
voidZGlass::unregister_ray_absorber(ZGlass::RayAbsorber* ra)
voidZGlass::UpdateAllViews()
voidZGlass::UpdateGlassView()
virtual voidTObject::UseCurrentStyle()
virtual FID_tVFID() const
virtual GledNS::ClassInfo*VGlassInfo() const
Int_tTriMesh::VisitVertices(Int_t vertex, TriMesh::VertexVisitor& vertex_visitor, set<Int_t>& visited_vertices, set<Int_t>& accepted_vertices)
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
voidZGlass::WriteLock()
voidZGlass::WriteUnlock()
protected:
virtual voidZGlass::AdEndarkenment()
virtual voidZGlass::AdEnlightenment()
virtual voidZGlass::AdUnfoldment()
ZMIR*ZGlass::assert_MIR_presence(const Exc_t& header, int what = 0)
ParaSurf*TriMesh::assert_parasurf(const Exc_t& eh)
voidTriMesh::assert_tvor(const Exc_t& eh)
voidTriMesh::calculate_surface_and_areas()
voidTriMesh::colorize_trings_single(UChar_t r, UChar_t g, UChar_t b, UChar_t a)
voidTriMesh::colorize_trings_std()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTriMesh::extrude_triangle(Int_t ti, Float_t h)
voidTriMesh::extrude_triangle(Int_t ti, Float_t x, Float_t y, Float_t z)
TriMesh::EdgeData&TriMesh::find_edge(Int_t v1, Int_t v2)
TriMesh::EdgeData&TriMesh::find_edge(const TriMesh::VertexData& vd, Int_t v1, Int_t v2)
ZMIR*ZGlass::get_MIR()
voidTriMesh::make_cubus(Int_t vo, Int_t to, Float_t x0, Float_t y0, Float_t z0, Float_t a, Float_t b, Float_t c)
voidTriMesh::make_tetra(Int_t vo, Int_t to, Float_t l1, Float_t l2, Float_t z, Float_t w, Float_t h)
voidTriMesh::make_tetra_blade(Int_t vo, Int_t to, const Float_t* org, const Float_t* dir, Float_t w, Float_t h)
voidTObject::MakeZombie()
voidZGlass::queen_check_in(ZGlass* l)
virtual voidZGlass::reference_all()
virtual voidZGlass::reference_links()
virtual Int_tZGlass::remove_references_to(ZGlass* lens)
voidZGlass::set_link_or_die(ZGlass*& link, ZGlass* new_val, FID_t fid)
voidsubdivide_hierarhical(HTriMesh::TringTvorSubdivider& tts)
voidsubdivide_leaf(HTriMesh::TringTvorSubdivider& tts, Int_t n_leaf)
voidsubdivide_leaf_rec(HTriMesh::TringTvorSubdivider& tts, Int_t v0, Int_t v1, Int_t v2, Int_t depth)
ZMIR*ZGlass::suggest_MIR_presence(const Exc_t& header, int what = 0)
virtual voidZGlass::unreference_all()
virtual voidZGlass::unreference_links()
voidZGlass::warn_caller(const TString& warning)
private:
void_init()

Data Members

protected:
Bool_tZGlass::bAcceptRefsX{GS} 7 BoolOut()
Bool_tZGlass::bMIRActiveX{GS} 7 BoolOut(-join=>1)
Bool_tZGlass::bUseDispListX{GST} 7 Bool(-join=>1)
Bool_tZGlass::bUseNameStackX{GS} 7 Bool()
HPointFTriMesh::mCOMX{RS} 7 HPointF(-const=>1)
ZLink<ZImage>TriMesh::mDefTextureX{GS} L{}
vector<Int_t>TriMesh::mECursVec! X{R} Cursor array, one entry per vertex.
vector<TriMesh::EdgeData>TriMesh::mEDataVec! X{R}
UShort_tZGlass::mEyeRefCount!
UShort_tZGlass::mFireRefCount! X{G} 7 ValOut(-width=>4)
UInt_tZGlass::mGlassBitsX{g}
ZLink<ZMirFilter>ZGlass::mGuardX{E} L{}
HPointFTriMesh::mJX{RS} 7 HPointF(-const=>1)
vector<HTriMesh::HLevel,allocator<HTriMesh::HLevel> >mLevels! X{R}
Float_tTriMesh::mMX{GS} 7 ValOut(-join=>1)
Int_tmMaxLevel! X{G}
UShort_tZGlass::mMoonRefCount! X{G} 7 ValOut(-width=>4)
TStringZGlass::mNameX{RGE} 7 Textor()
Opcode::MeshInterface*TriMesh::mOPCMeshIf! X{g}
Opcode::Model*TriMesh::mOPCModel! X{g}
ZLink<ParaSurf>TriMesh::mParaSurfX{GS} L{a}
ZQueen*ZGlass::mQueen! X{g}
GMutexZGlass::mReadMutex!
UShort_tZGlass::mRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
HTriMesh::HNodemRootNode!
Saturn*ZGlass::mSaturn! X{g}
ID_tZGlass::mSaturnIDX{G} 7 ValOut(-range=>[0,MAX_ID,1], -width=>10)
HPointFTriMesh::mSectionX{RS} 7 HPointF(-const=>1)
TimeStamp_tZGlass::mStampReqTring! X{GS} TimeStamp of last change that requires retriangulation
UShort_tZGlass::mSunRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
Float_tTriMesh::mSurfaceX{GS} 7 ValOut()
TringTvor*TriMesh::mTTvor! X{gs}
TimeStamp_tZGlass::mTimeStamp! X{GS} TimeStamp of last change
TStringZGlass::mTitleX{RGE} 7 Textor()
vector<TriMesh::VertexData>TriMesh::mVDataVec! X{R}
Float_tTriMesh::mVolumeX{GS} 7 ValOut(-join=>1)
Float_tTriMesh::mXYAreaX{GS} 7 ValOut()
set<NameChangeCB*>*ZGlass::pspNameChangeCB!
set<RayAbsorber*>*ZGlass::pspRayAbsorber!
static GledNS::LinkMemberInfo*TriMesh::sap_DefTexture_lmi
static GledNS::LinkMemberInfo*ZGlass::sap_Guard_lmi
static GledNS::ClassInfo*sap_HTriMesh_ci
static GledNS::LinkMemberInfo*TriMesh::sap_ParaSurf_lmi
static GledNS::ClassInfo*TriMesh::sap_TriMesh_ci
static GledNS::ClassInfo*ZGlass::sap_ZGlass_ci

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void _init()
{}
HTriMesh(const Text_t* n = "HTriMesh", const Text_t* t = 0)
~HTriMesh()
{}
void PrintLevels() const
void subdivide_hierarhical(HTriMesh::TringTvorSubdivider& tts)
 Input level with parent nodes
       starting triangle index, or reference to it
       edge map
 Assumes triangles and vertices are already allocated.
   Uses some function to do sub-division.
   Will I need to move them afterwards? ParaSurf knows ...
void subdivide_leaf(HTriMesh::TringTvorSubdivider& tts, Int_t n_leaf)
void subdivide_leaf_rec(HTriMesh::TringTvorSubdivider& tts, Int_t v0, Int_t v1, Int_t v2, Int_t depth)
void Subdivide(Int_t n_hierarhical, Int_t n_leaf)
HTriMesh(const Text_t* n = "HTriMesh", const Text_t* t = 0)