ROOT logo
// $Id: LandMark.cxx 2196 2009-05-10 19:40:40Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#include "LandMark.h"
#include "LandMark.c7"

#include "Tringula.h"
#include "ParaSurf.h"

// LandMark

//______________________________________________________________________________
//
//

ClassImp(LandMark);

//==============================================================================

void LandMark::_init()
{
  mF = mG = mH = mHRel = 0;
  mHeightMode = HM_Absolute;
  mPhi = 0;
  mSx = mSy = 1;
  mColor.rgba(1, 0, 0.3, 0.5);
  mLineHeight    = 0.1;
  mNLineSegments = 64;
  bDetailedLine  = true;
  bRnrIdealLine  = true;

  bUseDispList = true;
}

LandMark::LandMark(const Text_t* n, const Text_t* t) :
  Extendio(n, t)
{
  _init();
}

LandMark::~LandMark()
{}

//==============================================================================

void LandMark::retrans(ParaSurf* ps)
{
  ps->regularize_fg(&mF);
  ps->fgh2trans(&mF, mTrans);
  mTrans.RotateLF(1, 2, TMath::DegToRad()*mPhi);
}

//==============================================================================

void LandMark::SetF(Float_t f)
{
  ParaSurf* ps = mTringula->GetParaSurf();

  if (f < ps->GetMinF()) f = ps->GetMinF();
  if (f > ps->GetMaxF()) f = ps->GetMaxF();
  mF = f;

  retrans(ps);
  StampReqTring(FID()); 
}

void LandMark::SetG(Float_t g)
{
  ParaSurf* ps = mTringula->GetParaSurf();

  if (g < ps->GetMinG()) g = ps->GetMinG();
  if (g > ps->GetMaxG()) g = ps->GetMaxG();
  mG = g;

  retrans(ps);
  StampReqTring(FID()); 
}

void LandMark::SetH(Float_t h)
{
  ParaSurf* ps = mTringula->GetParaSurf();

  mH = h;

  retrans(ps);
  StampReqTring(FID()); 
}

void LandMark::SetHRel(Float_t hr)
{
  ParaSurf* ps = mTringula->GetParaSurf();

  mHRel = hr;

  retrans(ps);
  StampReqTring(FID()); 
}

void LandMark::SetFGH(Float_t f, Float_t g, Float_t h)
{
  ParaSurf* ps = mTringula->GetParaSurf();

  if (f < ps->GetMinF()) f = ps->GetMinF();
  if (f > ps->GetMaxF()) f = ps->GetMaxF();
  mF = f;

  if (g < ps->GetMinG()) g = ps->GetMinG();
  if (g > ps->GetMaxG()) g = ps->GetMaxG();
  mG = g;

  mH = h;

  retrans(ps);
  StampReqTring(FID()); 
}

void LandMark::SetPhi(Float_t p)
{
  ParaSurf* ps = mTringula->GetParaSurf();

  if (p < 0) p = 360 + p;
  if (p > 360) p = p - TMath::Floor(p / 360)*360;
  mPhi = p;

  retrans(ps);
  StampReqTring(FID()); 
}
 LandMark.cxx:1
 LandMark.cxx:2
 LandMark.cxx:3
 LandMark.cxx:4
 LandMark.cxx:5
 LandMark.cxx:6
 LandMark.cxx:7
 LandMark.cxx:8
 LandMark.cxx:9
 LandMark.cxx:10
 LandMark.cxx:11
 LandMark.cxx:12
 LandMark.cxx:13
 LandMark.cxx:14
 LandMark.cxx:15
 LandMark.cxx:16
 LandMark.cxx:17
 LandMark.cxx:18
 LandMark.cxx:19
 LandMark.cxx:20
 LandMark.cxx:21
 LandMark.cxx:22
 LandMark.cxx:23
 LandMark.cxx:24
 LandMark.cxx:25
 LandMark.cxx:26
 LandMark.cxx:27
 LandMark.cxx:28
 LandMark.cxx:29
 LandMark.cxx:30
 LandMark.cxx:31
 LandMark.cxx:32
 LandMark.cxx:33
 LandMark.cxx:34
 LandMark.cxx:35
 LandMark.cxx:36
 LandMark.cxx:37
 LandMark.cxx:38
 LandMark.cxx:39
 LandMark.cxx:40
 LandMark.cxx:41
 LandMark.cxx:42
 LandMark.cxx:43
 LandMark.cxx:44
 LandMark.cxx:45
 LandMark.cxx:46
 LandMark.cxx:47
 LandMark.cxx:48
 LandMark.cxx:49
 LandMark.cxx:50
 LandMark.cxx:51
 LandMark.cxx:52
 LandMark.cxx:53
 LandMark.cxx:54
 LandMark.cxx:55
 LandMark.cxx:56
 LandMark.cxx:57
 LandMark.cxx:58
 LandMark.cxx:59
 LandMark.cxx:60
 LandMark.cxx:61
 LandMark.cxx:62
 LandMark.cxx:63
 LandMark.cxx:64
 LandMark.cxx:65
 LandMark.cxx:66
 LandMark.cxx:67
 LandMark.cxx:68
 LandMark.cxx:69
 LandMark.cxx:70
 LandMark.cxx:71
 LandMark.cxx:72
 LandMark.cxx:73
 LandMark.cxx:74
 LandMark.cxx:75
 LandMark.cxx:76
 LandMark.cxx:77
 LandMark.cxx:78
 LandMark.cxx:79
 LandMark.cxx:80
 LandMark.cxx:81
 LandMark.cxx:82
 LandMark.cxx:83
 LandMark.cxx:84
 LandMark.cxx:85
 LandMark.cxx:86
 LandMark.cxx:87
 LandMark.cxx:88
 LandMark.cxx:89
 LandMark.cxx:90
 LandMark.cxx:91
 LandMark.cxx:92
 LandMark.cxx:93
 LandMark.cxx:94
 LandMark.cxx:95
 LandMark.cxx:96
 LandMark.cxx:97
 LandMark.cxx:98
 LandMark.cxx:99
 LandMark.cxx:100
 LandMark.cxx:101
 LandMark.cxx:102
 LandMark.cxx:103
 LandMark.cxx:104
 LandMark.cxx:105
 LandMark.cxx:106
 LandMark.cxx:107
 LandMark.cxx:108
 LandMark.cxx:109
 LandMark.cxx:110
 LandMark.cxx:111
 LandMark.cxx:112
 LandMark.cxx:113
 LandMark.cxx:114
 LandMark.cxx:115
 LandMark.cxx:116
 LandMark.cxx:117
 LandMark.cxx:118
 LandMark.cxx:119
 LandMark.cxx:120
 LandMark.cxx:121
 LandMark.cxx:122
 LandMark.cxx:123
 LandMark.cxx:124
 LandMark.cxx:125
 LandMark.cxx:126
 LandMark.cxx:127
 LandMark.cxx:128
 LandMark.cxx:129
 LandMark.cxx:130