library: libCore #include "TView.h" |
TView() | |
TView(Int_t system) | |
TView(const Float_t* rmin, const Float_t* rmax, Int_t system = 1) | |
TView(const Double_t* rmin, const Double_t* rmax, Int_t system = 1) | |
virtual | ~TView() |
void | TObject::AbstractMethod(const char* method) const |
static void | AdjustPad(TVirtualPad* pad = 0) |
virtual void | AdjustScales(TVirtualPad* pad = 0) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | AxisVertex(Double_t ang, Double_t* av, Int_t& ix1, Int_t& ix2, Int_t& iy1, Int_t& iy2, Int_t& iz1, Int_t& iz2) |
virtual void | TObject::Browse(TBrowser* b) |
virtual void | Centered() |
virtual void | Centered3DImages(TVirtualPad* pad = 0) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
virtual void | DefinePerspectiveView() |
virtual void | DefineViewDirection(const Double_t* s, const Double_t* c, Double_t cosphi, Double_t sinphi, Double_t costhe, Double_t sinthe, Double_t cospsi, Double_t sinpsi, Double_t* tnorm, Double_t* tback) |
virtual void | TObject::Delete(Option_t* option = "") |
Int_t | TAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2) |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() const |
virtual TObject* | TObject::DrawClone(Option_t* option = "") const |
virtual void | TObject::Dump() const |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | ExecuteRotateView(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | FindNormal(Double_t x, Double_t y, Double_t z, Double_t& zn) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual void | FindPhiSectors(Int_t iopt, Int_t& kphi, Double_t* aphi, Int_t& iphi1, Int_t& iphi2) |
virtual void | FindScope(Double_t* scale, Double_t* center, Int_t& irep) |
virtual void | FindThetaSectors(Int_t iopt, Double_t phi, Int_t& kth, Double_t* ath, Int_t& ith1, Int_t& ith2) |
virtual void | Front() |
virtual void | FrontView(TVirtualPad* pad = 0) |
Bool_t | GetAutoRange() |
virtual Int_t | GetDistancetoAxis(Int_t axis, Int_t px, Int_t py, Double_t& ratio) |
Double_t | GetDproj() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
Double_t | GetDview() const |
Double_t | GetExtent() const |
virtual const char* | TObject::GetIconName() const |
Double_t | GetLatitude() |
virtual Color_t | TAttLine::GetLineColor() const |
virtual Style_t | TAttLine::GetLineStyle() const |
virtual Width_t | TAttLine::GetLineWidth() const |
Double_t | GetLongitude() |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
TSeqCollection* | GetOutline() |
Double_t | GetPsi() |
virtual void | GetRange(Float_t* min, Float_t* max) |
virtual void | GetRange(Double_t* min, Double_t* max) |
Double_t* | GetRmax() |
Double_t* | GetRmin() |
Int_t | GetSystem() |
Double_t* | GetTback() |
virtual const char* | TObject::GetTitle() const |
Double_t* | GetTN() |
Double_t* | GetTnorm() |
virtual UInt_t | TObject::GetUniqueID() const |
void | GetWindow(Double_t& u0, Double_t& v0, Double_t& du, Double_t& dv) const |
Double_t | GetWindowHeight() const |
Double_t | GetWindowWidth() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() const |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
Bool_t | IsClippedNDC(Double_t* p) const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
Bool_t | IsPerspective() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | IsViewChanged() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual void | TAttLine::Modify() |
void | MoveFocus(Double_t* center, Double_t dx, Double_t dy, Double_t dz, Int_t nsteps = 10, Double_t dlong = 0, Double_t dlat = 0, Double_t dpsi = 0) |
virtual void | MoveViewCommand(Char_t chCode, Int_t count = 1) |
void | MoveWindow(Char_t option) |
virtual void | NDCtoWC(const Float_t* pn, Float_t* pw) |
virtual void | NDCtoWC(const Double_t* pn, Double_t* pw) |
virtual void | NormalWCtoNDC(const Float_t* pw, Float_t* pn) |
virtual void | NormalWCtoNDC(const Double_t* pw, Double_t* pn) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | PadRange(Int_t rback) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual void | TAttLine::ResetAttLine(Option_t* option = "") |
void | TObject::ResetBit(UInt_t f) |
void | ResizePad() |
virtual void | RotateView(Double_t phi, Double_t theta, TVirtualPad* pad = 0) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") const |
virtual void | TAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1) |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
virtual void | SetAutoRange(Bool_t autorange = kTRUE) |
virtual void | SetAxisNDC(const Double_t* x1, const Double_t* x2, const Double_t* y1, const Double_t* y2, const Double_t* z1, const Double_t* z2) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetDefaultWindow() |
void | SetDproj(Double_t dproj) |
virtual void | TObject::SetDrawOption(Option_t* option = "") |
static void | TObject::SetDtorOnly(void* obj) |
void | SetDview(Double_t dview) |
void | SetLatitude(Double_t latitude) |
virtual void | TAttLine::SetLineAttributes() |
virtual void | TAttLine::SetLineColor(Color_t lcolor) |
virtual void | TAttLine::SetLineStyle(Style_t lstyle) |
virtual void | TAttLine::SetLineWidth(Width_t lwidth) |
void | SetLongitude(Double_t longitude) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | SetOutlineToCube() |
virtual void | SetParallel() |
virtual void | SetPerspective() |
void | SetPsi(Double_t psi) |
virtual void | SetRange(const Double_t* min, const Double_t* max) |
virtual void | SetRange(Double_t x0, Double_t y0, Double_t z0, Double_t x1, Double_t y1, Double_t z1, Int_t flag = 0) |
virtual void | SetSystem(Int_t system) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | SetView(Double_t longitude, Double_t latitude, Double_t psi, Int_t& irep) |
void | SetViewChanged(Bool_t flag = kTRUE) |
void | SetWindow(Double_t u0, Double_t v0, Double_t du, Double_t dv) |
virtual void | ShowAxis() |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual void | Side() |
virtual void | SideView(TVirtualPad* pad = 0) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | ToggleRulers(TVirtualPad* pad = 0) |
virtual void | ToggleZoom(TVirtualPad* pad = 0) |
virtual void | Top() |
virtual void | TopView(TVirtualPad* pad = 0) |
virtual void | UnZoom() |
virtual void | UnzoomView(TVirtualPad* pad = 0, Double_t unZoomFactor = 1.25) |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual void | WCtoNDC(const Float_t* pw, Float_t* pn) |
virtual void | WCtoNDC(const Double_t* pw, Double_t* pn) |
virtual Int_t | TObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const |
virtual void | Zoom() |
virtual void | ZoomIn() |
virtual void | ZoomMove() |
virtual void | ZoomOut() |
virtual void | ZoomView(TVirtualPad* pad = 0, Double_t zoomFactor = 1.25) |
enum { | kPerspective | |
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Double_t | fLatitude | View angle latitude |
Double_t | fLongitude | View angle longitude |
Double_t | fPsi | View angle psi |
Double_t | fDview | Distance from COP to COV |
Double_t | fDproj | Distance from COP to projection plane |
Double_t | fUpix | pad X size in pixels |
Double_t | fVpix | pad Y size in pixels |
Double_t | fTN[16] | |
Double_t | fTB[16] | |
Double_t | fRmax[3] | Upper limits of object |
Double_t | fRmin[3] | Lower limits of object |
Double_t | fUVcoord[4] | Viewing window limits |
Double_t | fTnorm[16] | Transformation matrix |
Double_t | fTback[16] | Back transformation matrix |
Double_t | fX1[3] | First coordinate of X axis |
Double_t | fX2[3] | Second coordinate of X axis |
Double_t | fY1[3] | First coordinate of Y axis |
Double_t | fY2[3] | Second coordinate of Y axis |
Double_t | fZ1[3] | First coordinate of Z axis |
Double_t | fZ2[3] | Second coordinate of Z axis |
Int_t | fSystem | Coordinate system |
TSeqCollection* | fOutline | Collection of outline's objects |
Bool_t | fDefaultOutline | Set to TRUE if outline is default cube |
Bool_t | fAutoRange | Set to TRUE if range computed automatically |
Bool_t | fChanged | ! Set to TRUE after ExecuteRotateView |
Color_t | TAttLine::fLineColor | line color |
Style_t | TAttLine::fLineStyle | line style |
Width_t | TAttLine::fLineWidth | line width |
*-*-*-*-*-*-*-*-*-*-*-*-*The V I E W class*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================= * *-* * *-* This package was originally written by Evgueni Tcherniaev * *-* from IHEP/Protvino. * *-* * *-* The original Fortran implementation was adapted to HIGZ/PAW * *-* by Olivier Couet and Evgueni Tcherniaev. * *-* * *-* This View class is a subset of the original system * *-* It has been converted to a C++ class by Rene Brun * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*View default constructor*-*-*-*-*-*-*-*-*-*-*-*-* *-* ========================
*-*-*-*-*-*-*-*-*-*-*-*-*-*View default destructor*-*-*-*-*-*-*-*-*-*-*-*-* *-* =======================
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*View constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================ *-* Creates a 3-D view in the current pad *-* By default pad range in 3-D view is (-1,-1,1,1), so ... *-* *-* Before drawing a 3-D object in a pad, a 3-D view must be created. *-* Note that a view is automatically created when drawing legos or surfaces. *-* *-* The coordinate system is selected via system: *-* system = 1 Cartesian *-* system = 2 Polar *-* system = 3 Cylindrical *-* system = 4 Spherical *-* system = 5 PseudoRapidity/Phi *-* system = 11 Perspective view *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*View constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================ *-* Creates a 3-D view in the current pad *-* rmin[3], rmax[3] are the limits of the object depending on *-* the selected coordinate system *-* *-* Before drawing a 3-D object in a pad, a 3-D view must be created. *-* Note that a view is automatically created when drawing legos or surfaces. *-* *-* The coordinate system is selected via system: *-* system = 1 Cartesian *-* system = 2 Polar *-* system = 3 Cylindrical *-* system = 4 Spherical *-* system = 5 PseudoRapidity/Phi *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*View constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================ *-* Creates a 3-D view in the current pad *-* rmin[3], rmax[3] are the limits of the object depending on *-* the selected coordinate system *-* *-* Before drawing a 3-D object in a pad, a 3-D view must be created. *-* Note that a view is automatically created when drawing legos or surfaces. *-* *-* The coordinate system is selected via system: *-* system = 1 Cartesian *-* system = 2 Polar *-* system = 3 Cylindrical *-* system = 4 Spherical *-* system = 5 PseudoRapidity/Phi *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*Define axis vertices*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ===================== * *-* * *-* Input ANG - angle between X and Y axis * *-* * *-* Output: AV(3,8) - axis vertixes * *-* IX1 - 1st point of X-axis * *-* IX2 - 2nd point of X-axis * *-* IY1 - 1st point of Y-axis * *-* IY2 - 2nd point of Y-axis * *-* IZ1 - 1st point of Z-axis * *-* IZ2 - 2nd point of Z-axis * *-* * *-* 8 6 * *-* / \ /|\ * *-* 5 / \ 7 5 / | \ 7 * *-* |\ /| | | | * *-* THETA < 90 | \6/ | THETA > 90 | /2\ | * *-* (Top view) | | | (Bottom view) |/ \| * *-* 1 \ | /3 1 \ /3 * *-* \|/ \ / * *-* 2 4 * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Local variables */
*-*-*-*-*-*-*-*-*-*-*-*-*-*Define perspective view *-*-*-*-*-*-*-*-*-*-* *-* ================================================ * *-* * *-* Compute transformation matrix from world coordinates * *-* to normalised coordinates (-1 to +1) * Input : theta, phi - spherical angles giving the direction of projection psi - screen rotation angle cov[3] - center of view dview - distance from COV to COP (center of projection) umin, umax, vmin, vmax - view window in projection plane dproj - distance from COP to projection plane bcut, fcut - backward/forward range w.r.t projection plane (fcut<=0) Output : nper[16] - normalizing transformation compute tr+rot to get COV in origin, view vector parallel to -Z axis, up vector parallel to Y. ^Yv UP ^ proj. plane | | /| | | / | | dproj / x--- center of window (COW) COV |----------|--x--|------------> Zv / | VRP'z / ---> | / VPN | Xv 1 - translate COP to origin of MARS : Tper = T(-copx, -copy, -copz) 2 - rotate VPN : R = Rz(-psi)*Rx(-theta)*Rz(-phi) (inverse Euler) 3 - left-handed screen reference to right-handed one of MARS : Trl T12 = Tper*R*Trl
*-*-*-*-*-*-*-*-*Define view direction (in spherical coordinates)-*-*-*-* *-* ================================================ * *-* * *-* Compute transformation matrix from world coordinates * *-* to normalised coordinates (-1 to +1) * *-* * *-* Input: S(3) - scale factors * *-* C(3) - centre of scope * *-* COSPHI - longitude COS * *-* SINPHI - longitude SIN * *-* COSTHE - latitude COS (angle between +Z and view direc.) * *-* SINTHE - latitude SIN * *-* COSPSI - screen plane rotation angle COS * *-* SINPSI - screen plane rotation angle SIN * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*-*-*-*-*-*-* *-* ========================================= * *-* This member function is called when a object is clicked with the locator * *-* * *-* If Left button clicked in the object area, while the button is kept down * *-* the cube representing the surrounding frame for the corresponding * *-* new latitude and longitude position is drawn. * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*Find Z component of NORMAL in normalized coordinates-*-*-*-* *-* ==================================================== * *-* * *-* Input: X - X-component of NORMAL * *-* Y - Y-component of NORMAL * *-* Z - Z-component of NORMAL * *-* * *-* Output: ZN - Z-component of NORMAL in normalized coordinates * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*Find critical PHI sectors*-*-*-*-*-*-*-*-*-*-*-* *-* ========================= * *-* * *-* Input: IOPT - options: 1 - from BACK to FRONT 'BF' * *-* 2 - from FRONT to BACK 'FB' * *-* KPHI - number of phi sectors * *-* APHI(*) - PHI separators (modified internally) * *-* * *-* Output: IPHI1 - initial sector * *-* IPHI2 - final sector * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-Find critical THETA sectors for given PHI sector*-*-*-*-*-* *-* ================================================ * *-* * *-* Input: IOPT - options: 1 - from BACK to FRONT 'BF' * *-* 2 - from FRONT to BACK 'FB' * *-* PHI - PHI sector * *-* KTH - number of THETA sectors * *-* ATH(*) - THETA separators (modified internally) * *-* * *-* Output: ITH1 - initial sector * *-* ITH2 - final sector * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*Find centre of a MIN-MAX scope and scale factors-*-*-*-*-* *-* ================================================ * *-* * *-* Output: SCALE(3) - scale factors * *-* CENTER(3) - centre * *-* IREP - reply (-1 if error in min-max) * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*Return distance to axis from point px,py*-*-*-* *-* ======================================== *-* *-* *-* Algorithm: *-* *-* A(x1,y1) P B(x2,y2) *-* ------------------------------------------------ *-* I *-* I *-* I *-* I *-* M(x,y) *-* *-* Let us call a = distance AM A=a**2 *-* b = distance BM B=b**2 *-* c = distance AB C=c**2 *-* d = distance PM D=d**2 *-* u = distance AP U=u**2 *-* v = distance BP V=v**2 c = u + v *-* *-* D = A - U *-* D = B - V = B -(c-u)**2 *-* ==> u = (A -B +C)/2c *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*Get maximum view extent-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ======================= *-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Get Range function-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================== *-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Get Range function-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================== *-*
*-*-*-*-*-*-*Check if point is clipped in perspective view-*-*-*-*-*-*-*-* *-* ============================================= *-*
*-*-*-*-*-*-*Transfer point from normalized to world coordinates*-*-*-*-* *-* =================================================== * *-* * *-* Input: PN(3) - point in world coordinate system * *-* PW(3) - point in normalized coordinate system * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*Transfer point from normalized to world coordinates*-*-*-*-* *-* =================================================== * *-* * *-* Input: PN(3) - point in world coordinate system * *-* PW(3) - point in normalized coordinate system * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*Transfer vector of NORMAL from word to normalized coodinates-*-*-*-* *-* ============================================================ *-* *-* Input: PW(3) - vector of NORMAL in word coordinate system *-* PN(3) - vector of NORMAL in normalized coordinate system *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*Transfer vector of NORMAL from word to normalized coodinates-*-*-*-* *-* ============================================================ *-* *-* Input: PW(3) - vector of NORMAL in word coordinate system *-* PN(3) - vector of NORMAL in normalized coordinate system *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*Set the correct window size for lego and surface plots*-*-*-*-* *-* ====================================================== *-* *-* Set the correct window size for lego and surface plots. *-* And draw the background if necessary. *-* *-* Input parameters: *-* *-* RBACK : Background colour *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*Store axis coordinates in the NDC system*-*-*-* *-* ======================================== *-*
*-*-*-*-*-*-*This is a function which creates default outline*-*-*-*-*-* *-* ================================================ * *-* * *-* x = fRmin[0] X = fRmax[0] * *-* y = fRmin[1] Y = fRmax[1] * *-* z = fRmin[2] Z = fRmax[2] * *-* * *-* * *-* (x,Y,Z) +---------+ (X,Y,Z) * *-* / /| * *-* / / | * *-* / / | * *-* (x,y,Z) +---------+ | * *-* | | + (X,Y,z) * *-* | | / * *-* | | / * *-* | |/ * *-* +---------+ * *-* (x,y,z) (X,y,z) * *-* * *-* * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Set Range function-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================== *-*
*-*-*-*-*-*-*-*-*-*-*-*Set 3-D View range*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ================== *-* *-* Input: x0, y0, z0 are minimum coordinates *-* x1, y1, z1 are maximum coordinates *-* *-* flag values are: 0 (set always) <- default *-* 1 (shrink view) *-* 2 (expand view) *-*
*-*-*-*-*-*-*-*-*Set view direction (in spherical coordinates)*-*-*-*-*-* *-* ============================================= * *-* * *-* Input PHI - longitude * *-* THETA - latitude (angle between +Z and view direction) * *-* PSI - rotation in screen plane * *-* * *-* Output: IREP - reply (-1 if error in min-max) * *-* * *-* Errors: error in min-max scope * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*Transfer point from world to normalized coordinates*-*-*-*-* *-* =================================================== * *-* * *-* Input: PW(3) - point in world coordinate system * *-* PN(3) - point in normalized coordinate system * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*Transfer point from world to normalized coordinates*-*-*-*-* *-* =================================================== * *-* * *-* Input: PW(3) - point in world coordinate system * *-* PN(3) - point in normalized coordinate system * *-* * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
API to rotate view and adjust the pad provided it the current one.
Turn on /off the interactive option to Zoom / Move / Change attributes of 3D axis correspond this view
Move focus to a different box position and extent in nsteps. Perform rotation with dlat,dlong,dpsi at each step.
*-* 'a' //*-* increase scale factor (clip cube borders) *-* 's' //*-* decrease scale factor (clip cube borders)