+
+ /**
+ * \brief Each color is described by its RGB coordinates. Therefore, the vector should have the size of a multiple of 3 elements.
+ *
+ * \param base_color the base color vector.
+ */
+ void SetBaseColors(std::vector<double> & base_color);
+
+
+ void SetBaseTransparence(std::vector<double> & base_transparence);
+
+
+ /**
+ * \brief Returns the base color for a given index (first coordinate of the first color being 1, second coordinate of the first color being 2, etc.).
+ *
+ * \param index for which we would like to get the base color.
+ * \return The corresponding base color value.
+ */
+ double GetBaseColors(unsigned int index);
+ /**
+ * \brief The boundaries include the extrema. There must be one more element in this vector than GetBaseColorNb.
+ *
+ * \param grey_level_boundary the grey level boundary vector.
+ */
+ void SetGreyLevelBoundaries(std::vector<double> & grey_level_boundary);
+ /**
+ * \brief Returns the grey level boundary for a given index.
+ *
+ * \param index for which we would like to get the grey level boundary.
+ * \return The corresponding grey level value.
+ */
+ double GetGreyLevelBoundaries(unsigned int index);
+ /**
+ * \brief Sets the color type. True for plain color, false for gradient color. Default is false.
+ *
+ * \param color_type the color type
+ */
+ void SetPlainOrGradientColor(bool color_type);
+ /**
+ * \brief Returns the number of base colors.
+ *
+ * \return The number of base colors.
+ */
+ int GetBaseColorNb();
+
+
+ void FillColorTable(int start, int end, double r1, double g1, double b1, double r2, double g2, double b2, double t1, double t2);
+
+ int GrayLevel_TO_colorTableIndex( double VALUE );
+