ROOT logo
Gled » VAR1 » ParaSurf

class ParaSurf: public ZGlass


 Virtual base-class for describing the coordinate system of a 2D
 parametric surface. The surface is described with two parameters
 (f, g) and the third one accounts for distance in the normal
 direction (h, height).

 Methods in this class allow for mapping between parametric (f,g,h)
 space and world (x,y,z) space.

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~ParaSurf()
static void_gled_catalog_init()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual AList*ZGlass::AsAList()
virtual voidTObject::Browse(TBrowser* b)
virtual Float_tCharacteristicLength()
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 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 Opcode::Plane*edge_planes()
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)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidfgh2fdir(const Float_t* f, Float_t* d)
virtual voidfgh2gdir(const Float_t* f, Float_t* d)
virtual voidfgh2hdir(const Float_t* f, Float_t* d)
virtual voidfgh2pos(const Float_t* f, Float_t* x)
virtual voidfgh2trans(const Float_t* f, HTransF& t)
virtual voidfgh2trans(const Float_t* f, ZTrans& t)
static FID_tFID()
virtual ZGlass*ZGlass::FindLensByPath(const TString& url, bool throwp = false)
virtual voidFindMinMaxFGH(TriMesh* mesh)
virtual voidFindMinMaxH(TriMesh* mesh)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tZGlass::GetAcceptRefs() const
Float_tGetDeltaH() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Float_tGetEpsilon() const
UShort_tZGlass::GetFireRefCount() const
UInt_tZGlass::GetGlassBits()
Float_tGetGravAtSurface() const
ZMirFilter*ZGlass::GetGuard()
virtual const char*TObject::GetIconName() const
virtual ZGlass*ZGlass::GetLinkByName(const TString& link_name)
Float_tGetMaxF() const
voidGetMaxFGH(Float_t* fgh) const
Float_tGetMaxG() const
Float_tGetMaxH() const
Float_tGetMeanH() const
Float_tGetMinF() const
voidGetMinFGH(Float_t* fgh) const
Float_tGetMinG() const
Float_tGetMinH() 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()
virtual Option_t*TObject::GetOption() const
ZQueen*ZGlass::GetQueen()
UShort_tZGlass::GetRefCount() const
Saturn*ZGlass::GetSaturn()
ID_tZGlass::GetSaturnID() const
Float_tGetSigmaH() const
TimeStamp_tZGlass::GetStampReqTring() const
UShort_tZGlass::GetSunRefCount() const
TimeStamp_tZGlass::GetTimeStamp() const
virtual const Text_t*ZGlass::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tZGlass::GetUseDispList() const
Bool_tZGlass::GetUseNameStack() const
static GledNS::ClassInfo*GlassInfo()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
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 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_tIsValidFGH(const Float_t* f, Bool_t check_h = false)
Bool_tIsValidPos(const Float_t* x, Bool_t check_h = false)
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidZGlass::MarkStampReqTring()
voidTObject::MayNotUse(const char* method) const
static MID_tMid_FindMinMaxFGH()
static MID_tMid_FindMinMaxH()
static MID_tMid_RandomizeH()
static MID_tZGlass::Mid_RebuildRnrScheme()
static MID_tZGlass::Mid_ReTriangulate()
static MID_tZGlass::Mid_SetAcceptRefs()
static MID_tMid_SetGravAtSurface()
static MID_tZGlass::Mid_SetGuard()
static MID_tZGlass::Mid_SetMIRActive()
static MID_tZGlass::Mid_SetName()
static MID_tZGlass::Mid_SetStampReqTring()
static MID_tZGlass::Mid_SetTimeStamp()
static MID_tZGlass::Mid_SetTitle()
static MID_tZGlass::Mid_SetUseDispList()
static MID_tZGlass::Mid_SetUseDLRec()
static MID_tZGlass::Mid_SetUseNameStack()
static MID_tZGlass::Mid_UpdateAllViews()
static MID_tZGlass::Mid_UpdateGlassView()
virtual Int_tn_edge_planes()
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)
ParaSurf&operator=(const ParaSurf&)
virtual voidorigin_fgh(Float_t* g)
virtual voidorigin_pos(Float_t* x)
virtual voidorigin_trans(HTransF& t)
virtual voidorigin_trans(ZTrans& t)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidpos2fgh(const Float_t* x, Float_t* f)
virtual voidpos2fghdir(const Float_t* x, Float_t* fdir, Float_t* gdir, Float_t* hdir)
virtual voidpos2grav(const Float_t* x, GravData& gd)
virtual voidpos2hdir(const Float_t* x, Float_t* d)
virtual Float_tpos2hray(const Float_t* x, Opcode::Ray& r)
virtual voidTObject::Print(Option_t* option = "") const
virtual voidrandom_fgh(TRandom& rnd, Float_t* f)
virtual voidrandom_pos(TRandom& rnd, Float_t* x)
virtual voidrandom_trans(TRandom& rnd, HTransF& t)
voidRandomizeH(TriMesh* mesh, Float_t fg_chr_len, Float_t h_chr_len, Float_t alpha = 0.8, Bool_t accum_dh = false, Float_t n_pass = 1)
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)
const TString&ZGlass::RefName() const
const TString&ZGlass::RefTitle() const
voidZGlass::register_name_change_cb(ZGlass::NameChangeCB* nccb)
voidZGlass::register_ray_absorber(ZGlass::RayAbsorber* ra)
virtual voidregularize_fg(Float_t* f)
Int_tZGlass::RemoveReferencesTo(ZGlass* lens)
voidTObject::ResetBit(UInt_t f)
voidZGlass::ReTriangulate()
virtual ZMIR*S_FindMinMaxFGH(TriMesh* mesh)
virtual ZMIR*S_FindMinMaxH(TriMesh* mesh)
ZMIR*S_RandomizeH(TriMesh* mesh, Float_t fg_chr_len, Float_t h_chr_len, Float_t alpha = 0.8, Bool_t accum_dh = false, Float_t n_pass = 1)
ZMIR*ZGlass::S_RebuildRnrScheme()
ZMIR*ZGlass::S_ReTriangulate()
ZMIR*ZGlass::S_SetAcceptRefs(Bool_t acceptrefs)
ZMIR*S_SetGravAtSurface(Float_t gravatsurface)
ZMIR*ZGlass::S_SetGuard(ZMirFilter* guard)
ZMIR*ZGlass::S_SetMIRActive(Bool_t miractive)
ZMIR*ZGlass::S_SetName(const Text_t* s)
ZMIR*ZGlass::S_SetStampReqTring(TimeStamp_t stampreqtring)
ZMIR*ZGlass::S_SetTimeStamp(TimeStamp_t timestamp)
ZMIR*ZGlass::S_SetTitle(const Text_t* s)
ZMIR*ZGlass::S_SetUseDispList(Bool_t usedisplist)
ZMIR*ZGlass::S_SetUseDLRec(Bool_t state)
ZMIR*ZGlass::S_SetUseNameStack(Bool_t usenamestack)
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)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetGravAtSurface(Float_t gravatsurface)
voidZGlass::SetGuard(ZMirFilter* guard)
voidZGlass::SetMIRActive(Bool_t miractive)
voidZGlass::SetName(const Text_t* n)
static voidTObject::SetObjectStat(Bool_t stat)
voidZGlass::SetStampReqTring(TimeStamp_t stampreqtring)
virtual voidZGlass::SetStamps(TimeStamp_t s)
voidZGlass::SetTimeStamp(TimeStamp_t timestamp)
voidZGlass::SetTitle(const Text_t* t)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetupEdgePlanes()
voidZGlass::SetUseDispList(Bool_t usedisplist)
voidZGlass::SetUseDLRec(Bool_t state)
voidZGlass::SetUseNameStack(Bool_t usenamestack)
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()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
TStringZGlass::StrName() const
TStringZGlass::StrTitle() const
virtual voidsub_fgh(Float_t* a, Float_t* b, Float_t* delta)
virtual Bool_tsupport_wrap()
virtual Float_tSurface()
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static Float_tU1Add(Float_t a, Float_t b)
static Float_tU1Sub(Float_t a, Float_t b)
static voidU1Wrap(Float_t& x)
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 voidwrap(Float_t* x, Int_t plane, Float_t dist)
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)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
ZMIR*ZGlass::get_MIR()
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)
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()
Float_tmEpsilonX{G}
UShort_tZGlass::mEyeRefCount!
UShort_tZGlass::mFireRefCount! X{G} 7 ValOut(-width=>4)
UInt_tZGlass::mGlassBitsX{g}
Float_tmGravAtSurfaceX{GS} 7 Value(-range=>[0,20,1,1000])
ZLink<ZMirFilter>ZGlass::mGuardX{E} L{}
Float_tmMaxFX{G} 7 ValOut()
Float_tmMaxGX{G} 7 ValOut()
Float_tmMaxHX{G} 7 ValOut()
Float_tmMeanHX{G} 7 ValOut(-join=>1)
Float_tmMinFX{G} 7 ValOut(-join=>1)
Float_tmMinGX{G} 7 ValOut(-join=>1)
Float_tmMinHX{G} 7 ValOut(-join=>1)
UShort_tZGlass::mMoonRefCount! X{G} 7 ValOut(-width=>4)
TStringZGlass::mNameX{RGE} 7 Textor()
ZQueen*ZGlass::mQueen! X{g}
GMutexZGlass::mReadMutex!
UShort_tZGlass::mRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
Saturn*ZGlass::mSaturn! X{g}
ID_tZGlass::mSaturnIDX{G} 7 ValOut(-range=>[0,MAX_ID,1], -width=>10)
Float_tmSigmaHX{G} 7 ValOut()
TimeStamp_tZGlass::mStampReqTring! X{GS} TimeStamp of last change that requires retriangulation
UShort_tZGlass::mSunRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
TimeStamp_tZGlass::mTimeStamp! X{GS} TimeStamp of last change
TStringZGlass::mTitleX{RGE} 7 Textor()
set<NameChangeCB*>*ZGlass::pspNameChangeCB!
set<RayAbsorber*>*ZGlass::pspRayAbsorber!
static const Float_tsEpsilonFac
static const Float_tsPi
static const Float_tsPiHalf
static const Float_tsTwoPi
static GledNS::LinkMemberInfo*ZGlass::sap_Guard_lmi
static GledNS::ClassInfo*sap_ParaSurf_ci
static GledNS::ClassInfo*ZGlass::sap_ZGlass_ci

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void _init()
void FindMinMaxFGH(TriMesh* mesh)
void FindMinMaxH(TriMesh* mesh)
void RandomizeH(TriMesh* mesh, Float_t fg_chr_len, Float_t h_chr_len, Float_t alpha = 0.8, Bool_t accum_dh = false, Float_t n_pass = 1)
 Randomize vertex heights by fractional brownian rules.
 Does random selection of vertex-pairs, number of edges visited in
 each pass is estimated as 3 * Nvert.
 fg_chr_len - characteristic length in f,g direction
 h_chr_len  - characteristic length in h direction
Bool_t IsValidFGH(const Float_t* f, Bool_t check_h = false)
Bool_t IsValidPos(const Float_t* x, Bool_t check_h = false)
Float_t CharacteristicLength()
void origin_fgh(Float_t* g)
void origin_pos(Float_t* x)
void origin_trans(HTransF& t)
void origin_trans(ZTrans& t)
void fgh2trans(const Float_t* f, HTransF& t)
void fgh2trans(const Float_t* f, ZTrans& t)
void pos2fghdir(const Float_t* x, Float_t* fdir, Float_t* gdir, Float_t* hdir)
void sub_fgh(Float_t* a, Float_t* b, Float_t* delta)
 Subtract fgh values, taking care of U(1) variables (like angles).
 This base-class version does simple delta = a - b, which is ok for
 PSRectangle and PSTriangle.
void regularize_fg(Float_t* f)
 Put fg values into regular intervals.
 Here we just clamp them to min, max values which is ok for
 PSRectangle and PSTriangle.
void random_pos(TRandom& rnd, Float_t* x)
void random_trans(TRandom& rnd, HTransF& t)
virtual ~ParaSurf()
{}
Float_t GetDeltaH() const
{ return mMaxH - mMinH; }
void GetMinFGH(Float_t* fgh) const
{ fgh[0] = mMinF; fgh[1] = mMinG; fgh[2] = mMinH; }
void GetMaxFGH(Float_t* fgh) const
{ fgh[0] = mMaxF; fgh[1] = mMaxG; fgh[2] = mMaxH; }
void SetupEdgePlanes()
{}
Float_t Surface()
void pos2fgh(const Float_t* x, Float_t* f)
void fgh2pos(const Float_t* f, Float_t* x)
void fgh2fdir(const Float_t* f, Float_t* d)
void fgh2gdir(const Float_t* f, Float_t* d)
void fgh2hdir(const Float_t* f, Float_t* d)
void pos2hdir(const Float_t* x, Float_t* d)
 for possible optimizations
Float_t pos2hray(const Float_t* x, Opcode::Ray& r)
void pos2grav(const Float_t* x, GravData& gd)
 Gravity and MSL height data.
{}
void random_fgh(TRandom& rnd, Float_t* f)
 These all return point with h=0, which might not be above surface.
Int_t n_edge_planes()
{ return 0; }
Opcode::Plane* edge_planes()
{ return 0; }
Bool_t support_wrap()
{ return false; }
void wrap(Float_t* x, Int_t plane, Float_t dist)
{}
void U1Wrap(Float_t& x)
 U(1) wrap-around foos
{ if (x > sPi) x -= sTwoPi; else if (x < -sPi) x += sTwoPi; }
Float_t U1Add(Float_t a, Float_t b)
{ Float_t x = a + b; U1Wrap(x); return x; }
Float_t U1Sub(Float_t a, Float_t b)
{ Float_t x = a - b; U1Wrap(x); return x; }