ROOT logo
// $Id: Spheror.h 2088 2008-11-23 20:26:46Z 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 Numerica_Spheror_H
#define Numerica_Spheror_H

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

#include <TVectorF.h>
#include <Stones/ZColor.h>

class Spheror : public ZNode, public WarmAmoebaMaster {
  MAC_RNR_FRIENDS(Spheror);

private:
  void _init();

protected:
  Int_t	mNVert;		// X{gS} 7 Value(-range=>[2,100,1,1], -join=>1)
private:
  Int_t	mNV;		// X{g}  7 ValOut(-range=>[2,100,1,1])

protected:
  ZLink<WarmAmoeba>	mAmoeba;	// X{gS} L{}

  TVectorF	mState;

  Bool_t	bBeautyP;	// X{gS}  7 Bool(-join=>1)
  ZColor	mColor;		// X{PGS} 7 ColorButt()
  Float_t	mSize;		// X{gS}  7 Value(-range=>[0,100,1,100], -join=>1)
  Float_t	mScale;		// X{gS}  7 Value(-range=>[0,100,1,10])

  TVectorF*	GimmeXYZ(const TVectorF& x);

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

  // virtuals
  virtual Float_t	Foon(const TVectorF& x);
  virtual TVectorF*	InitialState(TRandom& rnd);
  virtual TVectorF*	InitialPerturbations(TRandom& rnd);
  virtual void		SetState(const TVectorF& x); // X{E}

  void Install();	// X{E} C{0} 7 MButt(-join=>1)
  void SelfInit();	// X{E} C{0} 7 MButt()

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


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