#include "bb.H"

#ifndef _CONSTRAINT1D_H__
#define _CONSTRAINT1D_H__

//
// Object
//
class Constraint1D {
  
public:
  Constraint1D        ();
  
public:
  int draw(float r, float g, float b, BB *bb);
  int setEqn(float a, float b, float c, float d,
	     float e, float f);
  int setOptfxn(int o);
  int drawOptfxn(float t);
  int getPos(float t, Float3 *pos);
  int drawArrow(float r, float g, float b,
		      float t, int dir);

  int setMaxLowt();
  int setMinUpt();
  int setLowerConstraints(float *H, int numH);
  int setUpperConstraints(float *H, int numH);

  float _a,_b,_c,_d,_e,_f;
  float _maxlowt;
  float _minupt;
  int _numHlower;
  int _numHupper;
  float *_Hlower;
  float *_Hupper;
  int _optfxn; // 0->minimize t, 1->maximize t

private:
};

#endif
