ROOT logo
// $Id: CameraInfo.h 2212 2009-06-21 19:54:24Z 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/.

#ifndef GledCore_CameraInfo_H
#define GledCore_CameraInfo_H

#include <Glasses/ZGlass.h>
#include <Glasses/ZNode.h>

class CameraInfo : public ZGlass {
  MAC_RNR_FRIENDS(CameraInfo);

public:
  enum Projection_e { P_Perspective, P_Orthographic };

private:
  void _init();

protected:
  Bool_t	bFixCameraBase;  // X{GS} 7 Bool()
  Bool_t	bFixLookAt;      // X{GS} 7 Bool()
  Bool_t	bFixUpReference; // X{GS} 7 Bool()

  ZLink<ZNode>	mCameraBase;	// X{gS} L{}

  ZLink<ZNode>	mLookAt;	// X{gS} L{}
  Float_t	mLookAtMinDist; // X{gS} 7 Value(-range=>[0,1000,1,1000])

  ZLink<ZNode>	mUpReference;	// X{gS} L{}
  UChar_t	mUpRefAxis;	// X{gS} 7 Value(-range=>[1,3,1,1], -join=>1)
  Bool_t	bUpRefLockDir;	// X{gS} 7 Bool()
  Float_t	mUpRefMinAngle;	// X{gS} 7 Value(-range=>[0,90,1,100])

  Projection_e	mProjMode;	// X{GS} 7 PhonyEnum()
  Float_t	mZFov;		// X{gS} 7 Value(-width=>6, -range=>[1e-6,180,  1,1000], -join=>1)
  Float_t	mZSize;		// X{gS} 7 Value(-width=>6, -range=>[1e-6,1000, 1,1000])
  Float_t	mYFac;		// X{gS} 7 Value(-width=>6, -range=>[1e-6,1000, 1,1000], -join=>1)
  Float_t	mXDist;		// X{gS} 7 Value(-width=>6, -range=>[1e-6,1000, 1,1000])
  Float_t	mNearClip;	// X{gS} 7 Value(-width=>6, -range=>[0,1000,1,1000],-join=>1)
  Float_t	mFarClip;	// X{gS} 7 Value(-width=>6, -range=>[0,1000,1,1000])
  Float_t   	mDefZFov;	// X{gS}
  Float_t   	mDefZSize;	// X{gS}

public:
  CameraInfo(const Text_t* n="CameraInfo", const Text_t* t=0) :
    ZGlass(n,t) { _init(); }

  void SetupZFov (Float_t zfov);
  void SetupZSize(Float_t zsize);

#include "CameraInfo.h7"
  ClassDef(CameraInfo, 1);
}; // endclass CameraInfo


#endif
 CameraInfo.h:1
 CameraInfo.h:2
 CameraInfo.h:3
 CameraInfo.h:4
 CameraInfo.h:5
 CameraInfo.h:6
 CameraInfo.h:7
 CameraInfo.h:8
 CameraInfo.h:9
 CameraInfo.h:10
 CameraInfo.h:11
 CameraInfo.h:12
 CameraInfo.h:13
 CameraInfo.h:14
 CameraInfo.h:15
 CameraInfo.h:16
 CameraInfo.h:17
 CameraInfo.h:18
 CameraInfo.h:19
 CameraInfo.h:20
 CameraInfo.h:21
 CameraInfo.h:22
 CameraInfo.h:23
 CameraInfo.h:24
 CameraInfo.h:25
 CameraInfo.h:26
 CameraInfo.h:27
 CameraInfo.h:28
 CameraInfo.h:29
 CameraInfo.h:30
 CameraInfo.h:31
 CameraInfo.h:32
 CameraInfo.h:33
 CameraInfo.h:34
 CameraInfo.h:35
 CameraInfo.h:36
 CameraInfo.h:37
 CameraInfo.h:38
 CameraInfo.h:39
 CameraInfo.h:40
 CameraInfo.h:41
 CameraInfo.h:42
 CameraInfo.h:43
 CameraInfo.h:44
 CameraInfo.h:45
 CameraInfo.h:46
 CameraInfo.h:47
 CameraInfo.h:48
 CameraInfo.h:49
 CameraInfo.h:50
 CameraInfo.h:51
 CameraInfo.h:52
 CameraInfo.h:53
 CameraInfo.h:54
 CameraInfo.h:55
 CameraInfo.h:56
 CameraInfo.h:57
 CameraInfo.h:58
 CameraInfo.h:59