ROOT logo
Gled » VAR1 » Tringula

class Tringula: public ZNode, public TimeMakerClient

Function Members (Methods)

public:
Tringula(const Tringula&)
Tringula(const Text_t* n = "Tringula", const Text_t* t = 0)
virtual~Tringula()
static void_gled_catalog_init()
voidTObject::AbstractMethod(const char* method) const
virtual voidZList::Add(ZGlass* lens)
LandMark*AddLandMark(TriMesh* mesh, const Float_t* pos)
voidZNode::AddRnrMod(ZGlass* el)
virtual voidAdEnlightenment()
virtual voidTObject::AppendPad(Option_t* option = "")
voidZNode::ApplyScale(ZTrans& t)
virtual AList*AList::AsAList()
TriMesh*AssertMesh(const Exc_t& eh)
ParaSurf*AssertParaSurf(const Exc_t& eh)
ZList*ZList::AssertPath(const Text_t* path, const Text_t* new_el_type = "ZList")
virtual ZGlass*ZList::BackElement()
ZList::iteratorZList::begin()
virtual voidTObject::Browse(TBrowser* b)
static ZTrans*ZNode::BtoA(ZNode* a, ZNode* b, ZNode* top = 0)
Bool_tZGlass::CheckBit(ZGlass::Bits_e bit) const
Bool_tCheckBoundaries(Dynamico* dyno, Float_t& safety)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual voidAList::ClearAllReferences()
voidZGlass::ClearLinks()
virtual voidZList::ClearList()
virtual TObject*TObject::Clone(const char* newname = "") const
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)
virtual TimeStamp_tAList::CopyList(lpZGlass_t& dest, bool copy_zeros = false, bool do_eyerefs = false)
virtual TimeStamp_tAList::CopyListElReps(AList::lElRep_t& dest, bool copy_zeros = false)
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)
voidDoFullBoxPrunning(vector<Opcode::Segment>& its_lines, Bool_t accumulate = false, Bool_t verbose = false)
voidDoSplitBoxPrunning()
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidAList::DumpElements(Bool_t dump_zeros = false)
virtual AList::ElType_eZList::el_type()
virtual boolAList::elrep_can_edit_label()
virtual boolAList::elrep_can_hold_zero()
virtual boolZList::elrep_has_id()
virtual boolAList::elrep_has_label()
voidEmitExtendioDyingRay(Extendio* ext)
voidEmitExtendioExplodingRay(Extendio* ext, Explosion* exp)
voidEmitExtendioSoundRay(Extendio* ext, const TString& effect)
ZList::iteratorZList::end()
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)
voidExplosionFinished(Explosion* exp)
voidExplosionStarted(Explosion* exp)
voidExtendioExploding(Extendio* ext)
voidExtendioExplosionFinished(Explosion* exp)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
static FID_tFID()
voidZNode::FillParentList(list<ZNode*>& plist)
static ZNode*ZNode::FindCommonParent(ZNode* a, ZNode* b)
Int_tZList::FindFirst(ZGlass* lens)
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
virtual ZGlass*ZList::FrontElement()
Bool_tZGlass::GetAcceptRefs() const
CID_tAList::GetCid() const
ZColorGetColor() const
TriMesh*GetDefChopMesh()
TriMesh*GetDefDynMesh()
TriMesh*GetDefFlyMesh()
TriMesh*GetDefStaMesh()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
ZHashList*GetDynos()
Tringula::EdgeRule_eGetEdgeRule() const
virtual ZGlass*AList::GetElementByName(const TString& name)
virtual Int_tAList::GetElementsByName(const TString& name, lpZGlass_t& dest)
ZHashList*GetExplodios()
ZHashList*GetExplosions()
UShort_tZGlass::GetFireRefCount() const
ZHashList*GetFlyers()
UInt_tZGlass::GetGlassBits()
ZMirFilter*ZGlass::GetGuard()
virtual const char*TObject::GetIconName() const
Bool_tZNode::GetKeepParent() const
ZHashList*GetLandMarks()
LID_tAList::GetLid() const
virtual ZGlass*ZGlass::GetLinkByName(const TString& link_name)
TimeStamp_tAList::GetListTimeStamp() const
Float_tGetMaxCameraH() const
Float_tGetMaxFlyerH() const
TriMesh*GetMesh()
Bool_tZGlass::GetMIRActive() const
Bool_tZNode::GetModElements() const
Bool_tZNode::GetModSelf() 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()
Float_tZNode::GetOM() const
virtual Option_t*TObject::GetOption() const
ParaSurf*GetParaSurf()
ZNode*ZNode::GetParent()
ZQueen*ZGlass::GetQueen()
UShort_tZGlass::GetRefCount() const
Bool_tGetRnrBBoxes() const
Bool_tZNode::GetRnrElements() const
ZGlass*ZNode::GetRnrMod()
Bool_tZNode::GetRnrSelf() const
Saturn*ZGlass::GetSaturn()
ID_tZGlass::GetSaturnID() const
Int_tAList::GetSize() const
TimeStamp_tZGlass::GetStampReqTring() const
ZHashList*GetStatos()
UShort_tZGlass::GetSunRefCount() const
Float_tZNode::GetSx() const
Float_tZNode::GetSy() const
Float_tZNode::GetSz() const
TimeStamp_tZGlass::GetTimeStamp() const
virtual const Text_t*ZGlass::GetTitle() const
ZTransZNode::GetTrans() const
ZHashList*GetTubes()
virtual UInt_tTObject::GetUniqueID() const
Bool_tZGlass::GetUseDispList() const
Bool_tZGlass::GetUseNameStack() const
Bool_tZNode::GetUseOM() const
Bool_tZNode::GetUseScale() const
static GledNS::ClassInfo*GlassInfo()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Bool_tAList::Has(ZGlass* g)
virtual ULong_tTObject::Hash() const
TStringZGlass::Identify() const
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 voidZList::InsertById(ZGlass* lens, Int_t before_id)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tAList::IsEmpty()
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
voidLaserShot(Extendio* ext, const Opcode::Ray& ray, Float_t power)
Int_tZNode::Level()
virtual boolZList::list_deque_ops()
virtual boolZList::list_insert_id_ops()
virtual boolAList::list_insert_label_ops()
virtual boolAList::list_insert_lens_ops()
virtual boolAList::list_set_id_ops()
virtual boolAList::list_set_label_ops()
virtual voidTObject::ls(Option_t* option = "") const
voidZNode::MakeRnrModList(ZGlass* optional_element = 0)
voidZNode::MarkStampReqTrans()
virtual voidZGlass::MarkStampReqTring()
voidTObject::MayNotUse(const char* method) const
static MID_tAList::Mid_Add()
static MID_tZNode::Mid_AddRnrMod()
static MID_tZList::Mid_AssertPath()
static MID_tZList::Mid_BackElement()
static MID_tAList::Mid_ClearList()
static MID_tMid_DoSplitBoxPrunning()
static MID_tAList::Mid_DumpElements()
static MID_tZList::Mid_FrontElement()
static MID_tZList::Mid_InsertById()
static MID_tZNode::Mid_MakeRnrModList()
static MID_tZNode::Mid_Move()
static MID_tZNode::Mid_Move3()
static MID_tZNode::Mid_Move3LF()
static MID_tZNode::Mid_Move3PF()
static MID_tZNode::Mid_MoveLF()
static MID_tZNode::Mid_MovePF()
static MID_tZNode::Mid_MultLeft()
static MID_tZNode::Mid_MultRight()
static MID_tZNode::Mid_MultScale()
static MID_tZList::Mid_PopBack()
static MID_tZList::Mid_PopFront()
static MID_tZList::Mid_PushBack()
static MID_tZList::Mid_PushFront()
static MID_tMid_RandomAirplane()
static MID_tMid_RandomChopper()
static MID_tMid_RandomDynamico()
static MID_tMid_RandomStatico()
static MID_tZGlass::Mid_RebuildRnrScheme()
static MID_tAList::Mid_RemoveAll()
static MID_tZList::Mid_RemoveById()
static MID_tAList::Mid_RemoveLensesViaQueen()
static MID_tMid_ResetCollisionStuff()
static MID_tZGlass::Mid_ReTriangulate()
static MID_tZNode::Mid_RnrElmsOffForDaughters()
static MID_tZNode::Mid_RnrElmsOnForDaughters()
static MID_tZNode::Mid_RnrOffForDaughters()
static MID_tZNode::Mid_RnrOnForDaughters()
static MID_tZNode::Mid_Rotate()
static MID_tZNode::Mid_RotateLF()
static MID_tZNode::Mid_RotatePF()
static MID_tZGlass::Mid_SetAcceptRefs()
static MID_tAList::Mid_SetCid()
static MID_tMid_SetColor()
static MID_tMid_SetColorByRef()
static MID_tMid_SetDefChopMesh()
static MID_tMid_SetDefDynMesh()
static MID_tMid_SetDefFlyMesh()
static MID_tMid_SetDefStaMesh()
static MID_tMid_SetDynos()
static MID_tMid_SetEdgeRule()
static MID_tAList::Mid_SetElementFID()
static MID_tMid_SetExplodios()
static MID_tMid_SetExplosions()
static MID_tMid_SetFlyers()
static MID_tZGlass::Mid_SetGuard()
static MID_tZNode::Mid_SetKeepParent()
static MID_tMid_SetLandMarks()
static MID_tAList::Mid_SetLid()
static MID_tAList::Mid_SetListTimeStamp()
static MID_tMid_SetMaxCameraH()
static MID_tMid_SetMaxFlyerH()
static MID_tMid_SetMesh()
static MID_tZGlass::Mid_SetMIRActive()
static MID_tZNode::Mid_SetModElements()
static MID_tZNode::Mid_SetModSelf()
static MID_tZGlass::Mid_SetName()
static MID_tZNode::Mid_SetOM()
static MID_tZNode::Mid_SetOMofDaughters()
static MID_tMid_SetParaSurf()
static MID_tZNode::Mid_SetParent()
static MID_tZNode::Mid_SetPos()
static MID_tMid_SetRnrBBoxes()
static MID_tZNode::Mid_SetRnrElements()
static MID_tZNode::Mid_SetRnrMod()
static MID_tZNode::Mid_SetRnrSelf()
static MID_tZNode::Mid_SetRotByAngles()
static MID_tZNode::Mid_SetRotByAnyAngles()
static MID_tZNode::Mid_SetRotByAnyDegrees()
static MID_tZNode::Mid_SetRotByDegrees()
static MID_tZNode::Mid_SetScale()
static MID_tZNode::Mid_SetScales()
static MID_tZGlass::Mid_SetStampReqTring()
static MID_tMid_SetStatos()
static MID_tZNode::Mid_SetSx()
static MID_tZNode::Mid_SetSy()
static MID_tZNode::Mid_SetSz()
static MID_tZGlass::Mid_SetTimeStamp()
static MID_tZGlass::Mid_SetTitle()
static MID_tZNode::Mid_SetTrans()
static MID_tMid_SetTubes()
static MID_tZGlass::Mid_SetUseDispList()
static MID_tZGlass::Mid_SetUseDLRec()
static MID_tZGlass::Mid_SetUseNameStack()
static MID_tZNode::Mid_SetUseOM()
static MID_tZNode::Mid_SetUseScale()
static MID_tZList::Mid_SortByName()
static MID_tZNode::Mid_UnitRot()
static MID_tZNode::Mid_UnitTrans()
static MID_tZGlass::Mid_UpdateAllViews()
static MID_tZGlass::Mid_UpdateGlassView()
ZMIR*AList::MkMir_Add(ZGlass* lens)
ZMIR*AList::MkMir_AddLabel(const TString& label)
ZMIR*AList::MkMir_ChangeLabel(const TString& label, TString new_label)
ZMIR*AList::MkMir_Insert(ZGlass* lens, AList::ElRep& elrep)
ZMIR*AList::MkMir_InsertByLabel(ZGlass* lens, const TString& label, const TString& before)
ZMIR*AList::MkMir_InsertLabel(const TString& label, const TString& before)
ZMIR*AList::MkMir_PopBack()
ZMIR*AList::MkMir_PopFront()
ZMIR*AList::MkMir_PushBack(ZGlass* lens)
ZMIR*AList::MkMir_PushFront(ZGlass* lens)
ZMIR*AList::MkMir_Remove(AList::ElRep& elrep)
ZMIR*AList::MkMir_RemoveAll(ZGlass* lens)
ZMIR*AList::MkMir_RemoveLabel(const TString& label)
ZMIR*AList::MkMir_SetElement(ZGlass* lens, AList::ElRep& elrep)
voidZNode::Move(ZNode* ref, Int_t vi, Double_t amount)
voidZNode::Move3(ZNode* ref, Double_t x, Double_t y, Double_t z)
voidZNode::Move3LF(Double_t x, Double_t y, Double_t z)
voidZNode::Move3PF(Double_t x, Double_t y, Double_t z)
voidZNode::MoveLF(Int_t vi, Double_t amount)
voidZNode::MovePF(Int_t vi, Double_t amount)
voidZNode::MultLeft(const ZTrans& t)
voidZNode::MultRight(const ZTrans& t)
voidZNode::MultScale(Float_t s)
Crawler*NewDynamico(const Text_t* dname = 0)
Statico*NewStatico(const Text_t* sname = 0)
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)
Tringula&operator=(const Tringula&)
virtual voidTObject::Paint(Option_t* option = "")
Extendio*PickExtendios(const Opcode::Ray& ray, Float_t ray_length, Float_t* ext_distance = 0)
Float_tPlaceAboveTerrain(ZTrans& trans, Float_t height = 0, Float_t dh_fac = 0)
virtual voidTObject::Pop()
virtual ZGlass*ZList::PopBack()
virtual ZGlass*ZList::PopFront()
virtual voidTObject::Print(Option_t* option = "") const
const ZColor*PtrColor() const
const ZTrans*ZNode::PtrTrans() const
virtual voidZList::PushBack(ZGlass* lens)
virtual voidZList::PushFront(ZGlass* lens)
Dynamico*RandomAirplane(Float_t v_min = 2, Float_t v_max = 20, Float_t w_max = 1, Float_t h_min_fac = 0.3, Float_t h_max_fac = 1)
Dynamico*RandomChopper(Float_t v_min = 2, Float_t v_max = 20, Float_t w_max = 1, Float_t h_min_fac = 0.1, Float_t h_max_fac = 0.5)
Crawler*RandomDynamico(ZVector* mesh_list, Float_t v_min = -1, Float_t v_max = 5, Float_t w_max = 1)
Statico*RandomStatico(ZVector* mesh_list, Bool_t check_inside = true, Int_t max_tries = 1000)
Bool_tRayCollide(const Opcode::Ray& ray, Float_t ray_length, Bool_t cull_p, Bool_t closest_p, Opcode::CollisionFaces& col_faces)
Float_tRayCollideClosestHit(const Opcode::Ray& ray, Bool_t cull_p)
virtual Int_tTObject::Read(const char* name)
voidZGlass::ReadLock() const
voidZGlass::ReadUnlock() const
virtual Int_tAList::RebuildAllRefs(An_ID_Demangler* idd)
virtual Int_tRebuildLinkRefs(An_ID_Demangler* c)
virtual Int_tZList::RebuildListRefs(An_ID_Demangler* idd)
voidZGlass::RebuildRnrScheme()
virtual voidTObject::RecursiveRemove(TObject* obj)
ZTrans&ZNode::ref_trans()
const ZColor&RefColor() const
GMutex&AList::RefListMutex()
const TString&ZGlass::RefName() const
const TString&ZGlass::RefTitle() const
const ZTrans&ZNode::RefTrans() const
voidZGlass::register_name_change_cb(ZGlass::NameChangeCB* nccb)
voidZGlass::register_ray_absorber(ZGlass::RayAbsorber* ra)
voidRegisterCrawler(Crawler* d)
virtual voidAList::ReleaseListCopyEyeRefs(lpZGlass_t& dest)
virtual Int_tZList::RemoveAll(ZGlass* lens)
virtual voidZList::RemoveById(Int_t id_to_remove)
voidAList::RemoveLensesViaQueen(Bool_t recurse = false)
Int_tZGlass::RemoveReferencesTo(ZGlass* lens)
voidTObject::ResetBit(UInt_t f)
voidResetCollisionStuff()
voidZGlass::ReTriangulate()
voidZNode::RnrElmsOffForDaughters()
voidZNode::RnrElmsOnForDaughters()
voidZNode::RnrOffForDaughters()
voidZNode::RnrOnForDaughters()
voidZNode::Rotate(ZNode* ref, Int_t ii1, Int_t ii2, Double_t amount)
voidZNode::RotateLF(Int_t i1, Int_t i2, Double_t amount)
voidZNode::RotatePF(Int_t i1, Int_t i2, Double_t amount)
virtual ZMIR*AList::S_Add(ZGlass* lens)
ZMIR*ZNode::S_AddRnrMod(ZGlass* el)
ZMIR*ZList::S_AssertPath(const Text_t* path, const Text_t* new_el_type = "ZList")
virtual ZMIR*ZList::S_BackElement()
virtual ZMIR*AList::S_ClearList()
ZMIR*S_DoSplitBoxPrunning()
ZMIR*AList::S_DumpElements(Bool_t dump_zeros = false)
virtual ZMIR*ZList::S_FrontElement()
virtual ZMIR*ZList::S_InsertById(ZGlass* lens, Int_t before_id)
ZMIR*ZNode::S_MakeRnrModList(ZGlass* optional_element = 0)
ZMIR*ZNode::S_Move(ZNode* ref, Int_t vi, Double_t amount)
ZMIR*ZNode::S_Move3(ZNode* ref, Double_t x, Double_t y, Double_t z)
ZMIR*ZNode::S_Move3LF(Double_t x, Double_t y, Double_t z)
ZMIR*ZNode::S_Move3PF(Double_t x, Double_t y, Double_t z)
ZMIR*ZNode::S_MoveLF(Int_t vi, Double_t amount)
ZMIR*ZNode::S_MovePF(Int_t vi, Double_t amount)
ZMIR*ZNode::S_MultLeft(const ZTrans& t)
ZMIR*ZNode::S_MultRight(const ZTrans& t)
ZMIR*ZNode::S_MultScale(Float_t s)
virtual ZMIR*ZList::S_PopBack()
virtual ZMIR*ZList::S_PopFront()
virtual ZMIR*ZList::S_PushBack(ZGlass* lens)
virtual ZMIR*ZList::S_PushFront(ZGlass* lens)
ZMIR*S_RandomAirplane(Float_t v_min = 2, Float_t v_max = 20, Float_t w_max = 1, Float_t h_min_fac = 0.3, Float_t h_max_fac = 1)
ZMIR*S_RandomChopper(Float_t v_min = 2, Float_t v_max = 20, Float_t w_max = 1, Float_t h_min_fac = 0.1, Float_t h_max_fac = 0.5)
ZMIR*S_RandomDynamico(ZVector* mesh_list, Float_t v_min = -1, Float_t v_max = 5, Float_t w_max = 1)
ZMIR*S_RandomStatico(ZVector* mesh_list, Bool_t check_inside = true, Int_t max_tries = 1000)
ZMIR*ZGlass::S_RebuildRnrScheme()
virtual ZMIR*AList::S_RemoveAll(ZGlass* lens)
virtual ZMIR*ZList::S_RemoveById(Int_t id_to_remove)
ZMIR*AList::S_RemoveLensesViaQueen(Bool_t recurse = false)
ZMIR*S_ResetCollisionStuff()
ZMIR*ZGlass::S_ReTriangulate()
ZMIR*ZNode::S_RnrElmsOffForDaughters()
ZMIR*ZNode::S_RnrElmsOnForDaughters()
ZMIR*ZNode::S_RnrOffForDaughters()
ZMIR*ZNode::S_RnrOnForDaughters()
ZMIR*ZNode::S_Rotate(ZNode* ref, Int_t ii1, Int_t ii2, Double_t amount)
ZMIR*ZNode::S_RotateLF(Int_t i1, Int_t i2, Double_t amount)
ZMIR*ZNode::S_RotatePF(Int_t i1, Int_t i2, Double_t amount)
ZMIR*ZGlass::S_SetAcceptRefs(Bool_t acceptrefs)
ZMIR*AList::S_SetCid(CID_t cid)
ZMIR*S_SetColor(Float_t r, Float_t g, Float_t b, Float_t a = 1)
ZMIR*S_SetColorByRef(const ZColor& color)
ZMIR*S_SetDefChopMesh(TriMesh* defchopmesh)
ZMIR*S_SetDefDynMesh(TriMesh* defdynmesh)
ZMIR*S_SetDefFlyMesh(TriMesh* defflymesh)
ZMIR*S_SetDefStaMesh(TriMesh* defstamesh)
ZMIR*S_SetDynos(ZHashList* dynos)
ZMIR*S_SetEdgeRule(Tringula::EdgeRule_e edgerule)
ZMIR*AList::S_SetElementFID(FID_t fid)
ZMIR*S_SetExplodios(ZHashList* explodios)
ZMIR*S_SetExplosions(ZHashList* explosions)
ZMIR*S_SetFlyers(ZHashList* flyers)
ZMIR*ZGlass::S_SetGuard(ZMirFilter* guard)
ZMIR*ZNode::S_SetKeepParent(Bool_t keepparent)
ZMIR*S_SetLandMarks(ZHashList* landmarks)
ZMIR*AList::S_SetLid(LID_t lid)
ZMIR*AList::S_SetListTimeStamp(TimeStamp_t listtimestamp)
ZMIR*S_SetMaxCameraH(Float_t maxcamerah)
ZMIR*S_SetMaxFlyerH(Float_t maxflyerh)
ZMIR*S_SetMesh(TriMesh* mesh)
ZMIR*ZGlass::S_SetMIRActive(Bool_t miractive)
ZMIR*ZNode::S_SetModElements(Bool_t modelements)
ZMIR*ZNode::S_SetModSelf(Bool_t modself)
ZMIR*ZGlass::S_SetName(const Text_t* s)
ZMIR*ZNode::S_SetOM(Float_t om)
ZMIR*ZNode::S_SetOMofDaughters(Float_t om, Bool_t enforce_to_all = false)
ZMIR*S_SetParaSurf(ParaSurf* parasurf)
ZMIR*ZNode::S_SetParent(ZNode* parent)
ZMIR*ZNode::S_SetPos(Double_t x, Double_t y, Double_t z)
ZMIR*S_SetRnrBBoxes(Bool_t rnrbboxes)
ZMIR*ZNode::S_SetRnrElements(Bool_t rnrelements)
ZMIR*ZNode::S_SetRnrMod(ZGlass* rnrmod)
ZMIR*ZNode::S_SetRnrSelf(Bool_t rnrself)
ZMIR*ZNode::S_SetRotByAngles(Float_t a1, Float_t a2, Float_t a3)
ZMIR*ZNode::S_SetRotByAnyAngles(Float_t a1, Float_t a2, Float_t a3, const Text_t* pat)
ZMIR*ZNode::S_SetRotByAnyDegrees(Float_t a1, Float_t a2, Float_t a3, const Text_t* pat)
ZMIR*ZNode::S_SetRotByDegrees(Float_t a1, Float_t a2, Float_t a3)
ZMIR*ZNode::S_SetScale(Float_t xx)
ZMIR*ZNode::S_SetScales(Float_t x, Float_t y, Float_t z)
ZMIR*ZGlass::S_SetStampReqTring(TimeStamp_t stampreqtring)
ZMIR*S_SetStatos(ZHashList* statos)
ZMIR*ZNode::S_SetSx(Float_t sx)
ZMIR*ZNode::S_SetSy(Float_t sy)
ZMIR*ZNode::S_SetSz(Float_t sz)
ZMIR*ZGlass::S_SetTimeStamp(TimeStamp_t timestamp)
ZMIR*ZGlass::S_SetTitle(const Text_t* s)
ZMIR*ZNode::S_SetTrans(const ZTrans& t)
ZMIR*S_SetTubes(ZHashList* tubes)
ZMIR*ZGlass::S_SetUseDispList(Bool_t usedisplist)
ZMIR*ZGlass::S_SetUseDLRec(Bool_t state)
ZMIR*ZGlass::S_SetUseNameStack(Bool_t usenamestack)
ZMIR*ZNode::S_SetUseOM(Bool_t useom)
ZMIR*ZNode::S_SetUseScale(Bool_t usescale)
virtual ZMIR*ZList::S_SortByName()
ZMIR*ZNode::S_UnitRot()
ZMIR*ZNode::S_UnitTrans()
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 = "")
voidZGlass::SetAcceptRefs(Bool_t acceptrefs)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAList::SetCid(CID_t cid)
voidSetColor(Float_t r, Float_t g, Float_t b, Float_t a = 1)
voidSetColorByRef(const ZColor& color)
voidSetDefChopMesh(TriMesh* defchopmesh)
voidSetDefDynMesh(TriMesh* defdynmesh)
voidSetDefFlyMesh(TriMesh* defflymesh)
voidSetDefStaMesh(TriMesh* defstamesh)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetDynos(ZHashList* dynos)
voidSetEdgeRule(Tringula::EdgeRule_e edgerule)
voidAList::SetElementFID(FID_t fid)
voidSetExplodios(ZHashList* explodios)
voidSetExplosions(ZHashList* explosions)
voidSetFlyers(ZHashList* flyers)
voidZGlass::SetGuard(ZMirFilter* guard)
voidZNode::SetKeepParent(Bool_t keepparent)
voidSetLandMarks(ZHashList* landmarks)
voidAList::SetLid(LID_t lid)
voidAList::SetListTimeStamp(TimeStamp_t listtimestamp)
voidSetMaxCameraH(Float_t maxcamerah)
voidSetMaxFlyerH(Float_t maxflyerh)
voidSetMesh(TriMesh* mesh)
voidZGlass::SetMIRActive(Bool_t miractive)
voidZNode::SetModElements(Bool_t modelements)
voidZNode::SetModSelf(Bool_t modself)
voidZGlass::SetName(const Text_t* n)
static voidTObject::SetObjectStat(Bool_t stat)
voidZNode::SetOM(Float_t om)
voidZNode::SetOMofDaughters(Float_t om, Bool_t enforce_to_all = false)
voidSetParaSurf(ParaSurf* parasurf)
voidZNode::SetParent(ZNode* parent)
voidZNode::SetPos(Double_t x, Double_t y, Double_t z)
voidSetRnrBBoxes(Bool_t rnrbboxes)
voidZNode::SetRnrElements(Bool_t rnrelements)
voidZNode::SetRnrMod(ZGlass* rnrmod)
voidZNode::SetRnrSelf(Bool_t rnrself)
voidZNode::SetRotByAngles(Float_t a1, Float_t a2, Float_t a3)
voidZNode::SetRotByAnyAngles(Float_t a1, Float_t a2, Float_t a3, const Text_t* pat)
voidZNode::SetRotByAnyDegrees(Float_t a1, Float_t a2, Float_t a3, const Text_t* pat)
voidZNode::SetRotByDegrees(Float_t a1, Float_t a2, Float_t a3)
voidZNode::SetScale(Float_t xx)
voidZNode::SetScales(Float_t x, Float_t y, Float_t z)
voidZGlass::SetStampReqTring(TimeStamp_t stampreqtring)
virtual voidZNode::SetStamps(TimeStamp_t s)
voidSetStatos(ZHashList* statos)
voidZNode::SetSx(Float_t sx)
voidZNode::SetSy(Float_t sy)
voidZNode::SetSz(Float_t sz)
voidZGlass::SetTimeStamp(TimeStamp_t timestamp)
voidZGlass::SetTitle(const Text_t* t)
voidZNode::SetTrans(const ZTrans& t)
voidSetTubes(ZHashList* tubes)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidZGlass::SetUseDispList(Bool_t usedisplist)
voidZGlass::SetUseDLRec(Bool_t state)
voidZGlass::SetUseNameStack(Bool_t usenamestack)
voidZNode::SetUseOM(Bool_t useom)
voidZNode::SetUseScale(Bool_t usescale)
virtual voidShowMembers(TMemberInspector& insp)
Int_tAList::Size()
virtual voidZList::SortByName()
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 TimeStamp_tAList::StampListClear()
virtual TimeStamp_tAList::StampListElementSet(ZGlass* lens, Int_t id)
virtual TimeStamp_tAList::StampListElementSet(ZGlass* lens, const TString& label)
virtual TimeStamp_tAList::StampListInsert(ZGlass* lens, Int_t id, ZGlass* before)
virtual TimeStamp_tAList::StampListInsert(ZGlass* lens, Int_t id, Int_t before_id)
virtual TimeStamp_tAList::StampListInsertLabel(ZGlass* lens, const TString& label, const TString& before)
virtual TimeStamp_tAList::StampListPopBack()
virtual TimeStamp_tAList::StampListPopFront()
virtual TimeStamp_tAList::StampListPushBack(ZGlass* lens, Int_t id = -1)
virtual TimeStamp_tAList::StampListPushFront(ZGlass* lens, Int_t id = -1)
virtual TimeStamp_tAList::StampListRebuild()
virtual TimeStamp_tAList::StampListRemove(ZGlass* lens)
virtual TimeStamp_tAList::StampListRemove(ZGlass* lens, Int_t id)
virtual TimeStamp_tAList::StampListRemoveLabel(ZGlass* lens, const TString& label)
voidZNode::StampReqTrans()
virtual voidZGlass::StampReqTring(FID_t fid = FID_t(0,0))
TimeStamp_tZGlass::StampVFID()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
TStringZGlass::StrName() const
TStringZGlass::StrTitle() const
voidZList::Swallow(const Text_t* path, ZGlass* entry)
voidZList::Swallow(ZGlass* entry, Bool_t replace_p = true, const Text_t* path = "", const Text_t* new_el_type = "ZList")
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTimeTick(Double_t t, Double_t dt)
ZTrans*ZNode::ToMFR(int depth = 0)
ZTrans*ZNode::ToNode(ZNode* top, int depth = 0)
voidZNode::UnitRot()
voidZNode::UnitTrans()
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
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::AdUnfoldment()
TriMesh*assert_mesh(const Exc_t& eh)
ZMIR*ZGlass::assert_MIR_presence(const Exc_t& header, int what = 0)
ParaSurf*assert_parasurf(const Exc_t& eh)
virtual voidZList::clear_list()
voiddelete_lens_if_alive(ZGlass* lens)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidfill_pruning_list(AList* extendios, Int_t& n, Int_t l)
voidfill_pruning_list(AList* extendios, Int_t& n, const Opcode::AABB** boxes, void** user_data)
ZMIR*ZGlass::get_MIR()
voidhandle_edge_crossing(Dynamico& D, Opcode::Point& old_pos, Opcode::Point& pos, Int_t plane, Float_t dist)
voidTObject::MakeZombie()
virtual voidAList::new_element_check(ZGlass* lens)
virtual voidZNode::on_insert(ZList::iterator it)
virtual voidZList::on_rebuild()
virtual voidZList::on_remove(ZList::iterator iter)
Bool_tplace_on_terrain(Dynamico* D, Float_t h_above)
Bool_tplace_on_terrain(Statico* S, TriMesh* M, Bool_t check_inside, Float_t min_h_above = 0)
voidprepick_extendios(AList* extendios, const Opcode::Ray& ray, Float_t ray_length, Tringula::lPickResult_t& candidates)
voidZGlass::queen_check_in(ZGlass* l)
virtual voidAList::reference_all()
virtual voidZGlass::reference_links()
virtual voidAList::reference_list_elms()
virtual Int_tZList::remove_references_to(ZGlass* lens)
voidZGlass::set_link_or_die(ZGlass*& link, ZGlass* new_val, FID_t fid)
voidsetup_box_pruner()
voidsetup_dyno_pruner()
voidsetup_stato_pruner()
ZMIR*ZGlass::suggest_MIR_presence(const Exc_t& header, int what = 0)
Bool_tterrain_height(const Opcode::Point& pos, Float_t& point_h, Float_t& terrain_h)
virtual voidAList::unreference_all()
virtual voidZGlass::unreference_links()
virtual voidAList::unreference_list_elms()
voidZGlass::warn_caller(const TString& warning)
private:
void_init()

Data Members

public:
enum PrivRayQN_e { PRQN_offset
PRQN_extendio_exploding
PRQN_extendio_dying
PRQN_extendio_sound
};
enum EdgeRule_e { ER_Stop
ER_Hold
ER_Bounce
ER_Wrap
};
enum ColorSource_e { CS_XCoord
CS_YCoord
CS_ZCoord
CS_XNorm
CS_YNorm
CS_ZNorm
};
enum AList::ElType_e { ET_Nil
ET_Lens
ET_Id
ET_Label
};
enum ZGlass::Bits_e { kFixedNameBit
kDyingBit
};
enum ZGlass::MirComponents_e { MC_Any
MC_IsFlare
MC_IsBeam
MC_HasResultReq
MC_IsDetached
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tZGlass::bAcceptRefsX{GS} 7 BoolOut()
Bool_tZNode::bKeepParentX{GS} 7 Bool()
Bool_tZGlass::bMIRActiveX{GS} 7 BoolOut(-join=>1)
Bool_tZNode::bModElementsX{GSx} 7 Bool()
Bool_tZNode::bModSelfX{GSx} 7 Bool(-join=>1)
Bool_tbRnrBBoxesX{GS} 7 Bool(-join=>1)
Bool_tZNode::bRnrElementsX{GSx} 7 Bool()
Bool_tZNode::bRnrSelfX{GSx} 7 Bool(-join=>1)
Bool_tZGlass::bUseDispListX{GST} 7 Bool(-join=>1)
Bool_tZGlass::bUseNameStackX{GS} 7 Bool()
Bool_tZNode::bUseOMX{GSt} 7 Bool(-join=>1)
Bool_tZNode::bUseScaleX{GSt} 7 Bool(-join=>1)
Opcode::BipartiteBoxPruner*mBoxPruner!
CID_tAList::mCidX{GS} 7 Value(-width=>4, -join=>1)
ZColormColorX{GSPRT} 7 ColorButt()
ZLink<TriMesh>mDefChopMeshX{GS} L{}
ZLink<TriMesh>mDefDynMeshX{GS} L{}
ZLink<TriMesh>mDefFlyMeshX{GS} L{}
ZLink<TriMesh>mDefStaMeshX{GS} L{}
ZLink<ZHashList>mDynosX{GS} L{} RnrBits{0,0,0,5}
TimeStamp_tmDynosLTS!
Tringula::EdgeRule_emEdgeRuleX{GS} 7 PhonyEnum()
list<ZList::element,allocator<ZList::element> >ZList::mElements! Problem during TStreamerElement creation (it's getting created despite manual streamer).
ZLink<ZHashList>mExplodiosX{GS} L{} RnrBits{0,0,0,5}
GMutexmExplosionMutex!
ZLink<ZHashList>mExplosionsX{GS} L{} RnrBits{0,0,0,5}
UShort_tZGlass::mEyeRefCount!
lpZGlass_tmFinishedExplosions!
lpZGlass_tmFinishedExtendioExplosions!
UShort_tZGlass::mFireRefCount! X{G} 7 ValOut(-width=>4)
ZLink<ZHashList>mFlyersX{GS} L{} RnrBits{0,0,0,5}
TimeStamp_tmFlyersLTS!
lpZGlass_tmFreshExplodingExtendios!
lpZGlass_tmFreshExplosions!
UInt_tZGlass::mGlassBitsX{g}
ZLink<ZMirFilter>ZGlass::mGuardX{E} L{}
ZLink<ZHashList>mLandMarksX{GS} L{} RnrBits{0,0,0,5}
LID_tAList::mLidX{GS} 7 Value(-width=>4, -join=>1)
GMutexAList::mListMutex! X{r}
TimeStamp_tAList::mListTimeStamp! X{GS}
Float_tmMaxCameraHX{GS} 7 Value()
Float_tmMaxFlyerHX{GS} 7 Value(-const=>1,-join=>1)
ZLink<TriMesh>mMeshX{GS} L{aA}
UShort_tZGlass::mMoonRefCount! X{G} 7 ValOut(-width=>4)
TStringZGlass::mNameX{RGE} 7 Textor()
Int_tZList::mNextId
Float_tZNode::mOMX{GSt} 7 Value(-range=>[-32, 32, 1,1000])
ZLink<ParaSurf>mParaSurfX{GS} L{aA}
ZLink<ZNode>ZNode::mParentX{gS} L{} Structural parent
ZQueen*ZGlass::mQueen! X{g}
GMutexZGlass::mReadMutex!
UShort_tZGlass::mRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
TRandommRndGen
ZLink<ZGlass>ZNode::mRnrModX{gS} L{}
Saturn*ZGlass::mSaturn! X{g}
ID_tZGlass::mSaturnIDX{G} 7 ValOut(-range=>[0,MAX_ID,1], -width=>10)
Int_tAList::mSizeX{G} 7 ValOut(-width=>5)
TimeStamp_tZNode::mStampReqTrans! TimeStamp of last change of mTrans
TimeStamp_tZGlass::mStampReqTring! X{GS} TimeStamp of last change that requires retriangulation
ZLink<ZHashList>mStatosX{GS} L{} RnrBits{0,0,0,5}
TimeStamp_tmStatosLTS!
UShort_tZGlass::mSunRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
Float_tZNode::mSxX{GSt} 7 Value(-range=>[0,1000, 1,1000], -join=>1)
Float_tZNode::mSyX{GSt} 7 Value(-range=>[0,1000, 1,1000], -join=>1)
Float_tZNode::mSzX{GSt} 7 Value(-range=>[0,1000, 1,1000])
TimeStamp_tZGlass::mTimeStamp! X{GS} TimeStamp of last change
TStringZGlass::mTitleX{RGE} 7 Textor()
ZTransZNode::mTransX{RPG} Transform from parent
ZLink<ZHashList>mTubesX{GS} L{} RnrBits{0,0,0,5}
set<NameChangeCB*>*ZGlass::pspNameChangeCB!
set<RayAbsorber*>*ZGlass::pspRayAbsorber!
static GledNS::ClassInfo*AList::sap_AList_ci
static GledNS::LinkMemberInfo*sap_DefChopMesh_lmi
static GledNS::LinkMemberInfo*sap_DefDynMesh_lmi
static GledNS::LinkMemberInfo*sap_DefFlyMesh_lmi
static GledNS::LinkMemberInfo*sap_DefStaMesh_lmi
static GledNS::LinkMemberInfo*sap_Dynos_lmi
static GledNS::LinkMemberInfo*sap_Explodios_lmi
static GledNS::LinkMemberInfo*sap_Explosions_lmi
static GledNS::LinkMemberInfo*sap_Flyers_lmi
static GledNS::LinkMemberInfo*ZGlass::sap_Guard_lmi
static GledNS::LinkMemberInfo*sap_LandMarks_lmi
static GledNS::LinkMemberInfo*sap_Mesh_lmi
static GledNS::LinkMemberInfo*sap_ParaSurf_lmi
static GledNS::LinkMemberInfo*ZNode::sap_Parent_lmi
static GledNS::LinkMemberInfo*ZNode::sap_RnrMod_lmi
static GledNS::LinkMemberInfo*sap_Statos_lmi
static GledNS::ClassInfo*sap_Tringula_ci
static GledNS::LinkMemberInfo*sap_Tubes_lmi
static GledNS::ClassInfo*ZGlass::sap_ZGlass_ci
static GledNS::ClassInfo*ZList::sap_ZList_ci
static GledNS::ClassInfo*ZNode::sap_ZNode_ci

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void _init()
 Override settings from ZGlass
~Tringula()
void AdEnlightenment()
Bool_t RayCollide(const Opcode::Ray& ray, Float_t ray_length, Bool_t cull_p, Bool_t closest_p, Opcode::CollisionFaces& col_faces)
 Intersect terrain mesh with given ray and stores result in col_faces.
  ray_length - if larger then 0, used as maximum hit distance.
  cull_p     - enable / disable triangle culling.
  closest_p  - return closest hit only / all hits.
Float_t RayCollideClosestHit(const Opcode::Ray& ray, Bool_t cull_p)
 Returns distance to the closest terrain hit from given ray.
 Opcode::MAX_FLOAT is returned if terrain is is not hit.
void prepick_extendios(AList* extendios, const Opcode::Ray& ray, Float_t ray_length, Tringula::lPickResult_t& candidates)
 Select picking candiadates from among extendios.
Extendio* PickExtendios(const Opcode::Ray& ray, Float_t ray_length, Float_t* ext_distance = 0)
 Loop over extendios and calculate distance between ray and center
 point.
  ray_length   - if larger than 0, limits the maximum extendio distance.
  ext_distance - if non 0, set to the distance of extendio.

 Original idea was to sub-divide ray into boxes and do split box prunning.

 Could increase size of boxes further away.

 In fact, only need to calculate until the first contact with terrain.

 Check both options.
void ResetCollisionStuff()
Float_t PlaceAboveTerrain(ZTrans& trans, Float_t height = 0, Float_t dh_fac = 0)
 Returns height to which the trans was placed.
Statico* NewStatico(const Text_t* sname = 0)
Statico* RandomStatico(ZVector* mesh_list, Bool_t check_inside = true, Int_t max_tries = 1000)
 Randomly select a mesh for statico from mesh_list and place it on
 a random location on the terrain. Makes sure the new statico
 does not overlap with existing ones.

 check_inside: make sure all corners of the bbox are within
   parasurf which is relevant for planar surfaces where statos might
   stick out.
   check_inside is also passed to place_on_terrain() where it
   suppresses the warnings about missed intersection.
 max_tries: how many times to try statico's placement on terrain.
   If this limit is reached an exception is thrown.
   As CINT doesn't handle this very well, 0 is returned at the moment.

   This is relevant when many staticos are already on the terrain
   and for steep terrain.

 How much of statico's bbox must stick out of terrain on each
 sampling-point is hardcoded to 0.5*bbox_z_size.
void RegisterCrawler(Crawler* d)
Crawler* NewDynamico(const Text_t* dname = 0)
Crawler* RandomDynamico(ZVector* mesh_list, Float_t v_min = -1, Float_t v_max = 5, Float_t w_max = 1)
Dynamico* RandomAirplane(Float_t v_min = 2, Float_t v_max = 20, Float_t w_max = 1, Float_t h_min_fac = 0.3, Float_t h_max_fac = 1)
Dynamico* RandomChopper(Float_t v_min = 2, Float_t v_max = 20, Float_t w_max = 1, Float_t h_min_fac = 0.1, Float_t h_max_fac = 0.5)
LandMark* AddLandMark(TriMesh* mesh, const Float_t* pos)
Bool_t CheckBoundaries(Dynamico* dyno, Float_t& safety)
 Checks if dyno crossed some important boundary and handles that.
 This means that Dyno's velocity and transformation matrix might be
 modified.

 Distance to the closest boundary is returned in safety argument.

 Returns true if transformation matrix of the dynos gets changed.

 In future, when an inter-tringula boundary is crossed this will
 also pass the dyno to neighbouring tringula.
void DoFullBoxPrunning(vector<Opcode::Segment>& its_lines, Bool_t accumulate = false, Bool_t verbose = false)
 Du full box-prunning step:
 - fill prunning list with statos, dynos and flyers,
 - perform box prunning,
 - do detail checks on collision candidates.

 Output: mItsLines contain intersection segments from all collisions.

 Mainly here to compare speed against split-box-prunning.
void DoSplitBoxPrunning()
 Extendio-extendio collision detection and handling routine.
void TimeTick(Double_t t, Double_t dt)
void ExtendioExploding(Extendio* ext)
void ExtendioExplosionFinished(Explosion* exp)
void ExplosionStarted(Explosion* exp)
void ExplosionFinished(Explosion* exp)
void LaserShot(Extendio* ext, const Opcode::Ray& ray, Float_t power)
 Preliminary, should be done in a more general way with other weapons.
 Also, need spot surface and ray divergence. Or sth.
void fill_pruning_list(AList* extendios, Int_t& n, const Opcode::AABB** boxes, void** user_data)
void fill_pruning_list(AList* extendios, Int_t& n, Int_t l)
void setup_box_pruner()
 Make sure internal representation of static and dynamic objects
 for box-pruning is ok.
void setup_stato_pruner()
void setup_dyno_pruner()
Bool_t terrain_height(const Opcode::Point& pos, Float_t& point_h, Float_t& terrain_h)
 Calculates height of given point and of the terrain at given pos.
 Return true if all went ok.
Bool_t place_on_terrain(Statico* S, TriMesh* M, Bool_t check_inside, Float_t min_h_above = 0)
 Place statico on terrain so that the bounding box of the mesh
 touches or penetrates the terrain. The distance is sampled on a
 3x3 grid.

 It is assumed that the statico is oriented along the local up
 direction with zero height. If the trans matrix were fixed here,
 the rotation would be somewhat poorly defined.

 check_inside - if true, the first miss of the terrain in the ray
 collision test results in a termination of the loop over sampling
 points. false is returned and no error message is printed.

 min_h_above - how much of statico's bbox must stick out of
 terrain on each sampling-point. If this is not the case, false is
 returned. If min_h_above <= 0, the check is not performed.

 Otherwise true is returned.
Bool_t place_on_terrain(Dynamico* D, Float_t h_above)
void delete_lens_if_alive(ZGlass* lens)
 If lens is not dying, send a MIR requesting its deletion.
void EmitExtendioExplodingRay(Extendio* ext, Explosion* exp)
void EmitExtendioDyingRay(Extendio* ext)
void EmitExtendioSoundRay(Extendio* ext, const TString& effect)
void handle_edge_crossing(Dynamico& D, Opcode::Point& old_pos, Opcode::Point& pos, Int_t plane, Float_t dist)
Tringula(const Text_t* n = "Tringula", const Text_t* t = 0)
{ _init(); }