00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef BlisConstraint_h_
00025 #define BlisConstraint_h_
00026
00027 #include "BcpsObject.h"
00028
00029
00030
00031 class BlisConstraint : public BcpsConstraint {
00032
00033 private:
00034
00035 int size_;
00036 int *indices_;
00037 double *values_;
00038
00039 public:
00040
00042 BlisConstraint();
00043
00045 BlisConstraint(int s, const int *ind, const double *val);
00046
00048 BlisConstraint(double lbh, double ubh, double lbs, double ubs);
00049
00051 BlisConstraint(double lbh, double ubh, double lbs, double ubs,
00052 int s, const int *ind, const double *val);
00054 virtual ~BlisConstraint();
00055
00057 BlisConstraint(const BlisConstraint & rhs);
00058
00061 int getSize() const { return size_; }
00062 int* getIndices() const { return indices_; }
00063 double* getValues() const { return values_; }
00068 void setData(int s, const int *ind, const double *val) {
00069 if (size_ < s) {
00070 delete [] indices_;
00071 delete [] values_;
00072 indices_ = new int [s];
00073 values_ = new double [s];
00074 }
00075 size_ = s;
00076 memcpy(indices_, ind, sizeof(int) * s);
00077 memcpy(values_, val, sizeof(double) * s);
00078 }
00081 protected:
00082
00084 AlpsReturnStatus encodeBlis(AlpsEncoded *encoded);
00085
00087 AlpsReturnStatus decodeBlis(AlpsEncoded &encoded);
00088
00089 public:
00090
00092 virtual AlpsReturnStatus encode(AlpsEncoded *encoded);
00093
00095 virtual AlpsKnowledge* decode(AlpsEncoded& encoded) const;
00096
00098 virtual void hashing(BcpsModel *model=NULL);
00099 };
00100
00101
00102
00103 #endif