void calc_idx_multiplier(); // NOTE: there is not 'set' for the multiplier - it's always calculated
virtual bool is_output(void) const;
bool is_set_id_unique(const wchar_t* set_id, int set_idx) const;
virtual void move_node(int set_idx, int idx, _point pt);
virtual void move_node(int set_idx, int idx, int x, int y);
virtual void move(int set_idx, int node_idx, int new_x);
void calc(int set_idx = -1);
virtual int delete_set(int _set_idx);
virtual int add_set(const FuzzySetBase* _new_set);
protected:
void delete_all_sets();
private:
static ValuesArrCountType x_array_count; // how many elements are in the values[] array for the terms
static ValuesArrCountType x_array_max_idx; // max index for values[] array (seperate var so we don't have to remember to subtract one each time we want that value)
static DOMType dom_array_count; // how many 'gradations' are in the 'y' direction for the degree // of membership. NOTE: This can NOT be larger than a the largest
// of membership. NOTE: This can NOT be larger than a the largest
// value that can be stored in a datatype of type DOMType!!!
static DOMType dom_array_max_idx; // max index for max_dom
FuzzySetBase** sets; // Array of the sets (dynamically allocated). There are "num_of_sets" minus one elements in the array
// This is a simple array rather than incurring the overhead of a list or some other STL container
int num_of_sets; // How many sets in this variable
short index; // index for this variable in the model
std::wstring id ; // idendifier for the set wich is unique for the variable its part of.
RealType left_x; // minimum value on the 'x' axis
RealType right_x; // maximum value on the 'x' axis
RealType idx_multiplier; // pre-calculated value of (FuzzyVariableBase::x_array_count/(max_value - min_value). This
// is how many 'x' values are in each element in the values[] array (part of the MemberFuncBase
// object).
int rule_index; // this is the starting offset into memory for this variable.
// It's used to speed access to the rules.
// *** For an in-depth explaination, see the rule_index var in FuzzySetBase ***