// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Aspect_ColorMap_HeaderFile
#define _Aspect_ColorMap_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Aspect_ColorMap_HeaderFile
#include <Handle_Aspect_ColorMap.hxx>
#endif

#ifndef _Aspect_TypeOfColorMap_HeaderFile
#include <Aspect_TypeOfColorMap.hxx>
#endif
#ifndef _Aspect_SequenceOfColorMapEntry_HeaderFile
#include <Aspect_SequenceOfColorMapEntry.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Aspect_BadAccess;
class Aspect_ColorMapEntry;
class Quantity_Color;


//! This class defines a ColorMap object. <br>
class Aspect_ColorMap : public MMgt_TShared {

public:

  
  Standard_EXPORT     Aspect_TypeOfColorMap Type() const;
  //! Returns the Allocated colormap Size <br>
  Standard_EXPORT     Standard_Integer Size() const;
  //! Returns the ColorMapEntry.Index of the ColorMap <br>
//!	    at rank <aColormapIndex> . <br>
  Standard_EXPORT     Standard_Integer Index(const Standard_Integer aColormapIndex) const;
  
  Standard_EXPORT     void Dump() const;
  //! Return the value of the <Index>th element of <br>
//!	    the ColorMap <br>
  Standard_EXPORT    const Aspect_ColorMapEntry& Entry(const Standard_Integer AColorMapIndex) const;
  //! Returns the index in the ColorMap of the <br>
//!	    ColorMapEntry.Index() equal to <AnEntryIndex>. <br>
  Standard_EXPORT   virtual  Standard_Integer FindColorMapIndex(const Standard_Integer AColorMapEntryIndex) const = 0;
  //! Returns the ColorMapEntry with ColorMapEntry.Index() <br>
//!	    equal to <AnEntryIndex>. <br>
  Standard_EXPORT   virtual const Aspect_ColorMapEntry& FindEntry(const Standard_Integer AColorMapEntryIndex) const = 0;
  //! Returns the index in the ColorMap of the <br>
//!	    nearest matching ColorMapEntry <br>
  Standard_EXPORT   virtual  Standard_Integer NearestColorMapIndex(const Quantity_Color& aColor) const = 0;
  //! Returns the nearest ColorMapEntry that match aColor . <br>
  Standard_EXPORT   virtual const Aspect_ColorMapEntry& NearestEntry(const Quantity_Color& aColor) const = 0;
  //! Search an identical color entry in the color map <me> <br>
//! and returns the ColorMapEntry Index if exist. <br>
//! Or add a new entry and returns the computed ColorMapEntry index used. <br>
  Standard_EXPORT   virtual  Standard_Integer AddEntry(const Quantity_Color& aColor)  = 0;




  DEFINE_STANDARD_RTTI(Aspect_ColorMap)

protected:

  
  Standard_EXPORT   Aspect_ColorMap(const Aspect_TypeOfColorMap type);

Aspect_SequenceOfColorMapEntry mydata;


private: 


Aspect_TypeOfColorMap mytype;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif
