basic/opengl/GL_Material.h

Go to the documentation of this file.
00001 //## begin module%373B17C102DE.cm preserve=no
00002 //        %X% %Q% %Z% %W%
00003 //## end module%373B17C102DE.cm
00004 
00005 //## begin module%373B17C102DE.cp preserve=no
00006 //## end module%373B17C102DE.cp
00007 
00008 //## Module: GL_Material%373B17C102DE; Pseudo Package specification
00009 //## Source file: C:\project\mpk\code\OpenGL\GL_Material.h
00010 
00011 #ifndef GL_Material_h
00012 #define GL_Material_h 1
00013 
00014 //## begin module%373B17C102DE.additionalIncludes preserve=no
00015 //## end module%373B17C102DE.additionalIncludes
00016 
00017 //## begin module%373B17C102DE.includes preserve=yes
00018 //## end module%373B17C102DE.includes
00019 
00020 // OpenGLInterface
00021 #include "OpenGL\OpenGLInterface.h"
00022 //## begin module%373B17C102DE.additionalDeclarations preserve=yes
00023 //## end module%373B17C102DE.additionalDeclarations
00024 
00025 
00026 //## begin GL_Material%373B17C102DE.preface preserve=yes
00027 //## end GL_Material%373B17C102DE.preface
00028 
00029 //## Class: GL_Material%373B17C102DE
00030 //      this will ease the assignment of opengl materials
00031 //## Category: OpenGL%3728CC7F0370
00032 //## Persistence: Transient
00033 //## Cardinality/Multiplicity: n
00034 
00035 class GL_Material : public OpenGLInterface  //## Inherits: <unnamed>%373B180A02D9
00036 {
00037   //## begin GL_Material%373B17C102DE.initialDeclarations preserve=yes
00038   //## end GL_Material%373B17C102DE.initialDeclarations
00039 
00040   public:
00041     //## Constructors (specified)
00042       //## Operation: GL_Material%926619736
00043       GL_Material ();
00044 
00045       //## Operation: GL_Material%926619742
00046       GL_Material (GL_Material& right);
00047 
00048     //## Destructor (generated)
00049       virtual ~GL_Material();
00050 
00051 
00052     //## Other Operations (specified)
00053       //## Operation: SetAmbient%926619734
00054       void SetAmbient (double r, double g, double b, double a = 1);
00055 
00056       //## Operation: SetDiffuse%926619737
00057       void SetDiffuse (double r, double g, double b, double a = 1);
00058 
00059       //## Operation: SetSpecular%926619738
00060       void SetSpecular (double r, double g, double b, double a = 1);
00061 
00062       //## Operation: SetShininess%926619739
00063       void SetShininess (double shininess);
00064 
00065       //## Operation: SetTransparancy%926619740
00066       void SetTransparancy (double alpha);
00067 
00068       //## Operation: SetupGlobalMaterials%926619741
00069       //        this function sets up all the global materials
00070       static void SetupGlobalMaterials ();
00071 
00072       //## Operation: operator=%926619743
00073       GL_Material& operator = (const GL_Material& right);
00074 
00075     // Data Members for Associations
00076 
00077       //## Association: OpenGL::<unnamed>%373B23B8021A
00078       //## Role: GL_Material::matRedPlastic%373B23B9012B
00079       //## begin GL_Material::matRedPlastic%373B23B9012B.role preserve=no  public: static GL_Material { -> 1VFHAN}
00080       static GL_Material matRedPlastic;
00081       //## end GL_Material::matRedPlastic%373B23B9012B.role
00082 
00083       //## Association: OpenGL::<unnamed>%373B25870248
00084       //## Role: GL_Material::matGreenPlastic%373B25880069
00085       //## begin GL_Material::matGreenPlastic%373B25880069.role preserve=no  public: static GL_Material { -> 1VFHAN}
00086       static GL_Material matGreenPlastic;
00087       //## end GL_Material::matGreenPlastic%373B25880069.role
00088 
00089     // Additional Public Declarations
00090       //## begin GL_Material%373B17C102DE.public preserve=yes
00091           static GL_Material matGrayPlastic;
00092           virtual void GLDraw () const;
00093       //## end GL_Material%373B17C102DE.public
00094 
00095   protected:
00096 
00097     //## Other Operations (specified)
00098       //## Operation: DrawExplicit%950474928
00099       virtual bool DrawExplicit () const;
00100 
00101     // Additional Protected Declarations
00102       //## begin GL_Material%373B17C102DE.protected preserve=yes
00103       //## end GL_Material%373B17C102DE.protected
00104 
00105   private:
00106     // Data Members for Class Attributes
00107 
00108       //## Attribute: ambient%373B188C0109
00109       //## begin GL_Material::ambient%373B188C0109.attr preserve=no  private: float [4] {UA} 
00110       float  ambient[4];
00111       //## end GL_Material::ambient%373B188C0109.attr
00112 
00113       //## Attribute: diffuse%373B19160360
00114       //## begin GL_Material::diffuse%373B19160360.attr preserve=no  private: float [4] {UA} 
00115       float  diffuse[4];
00116       //## end GL_Material::diffuse%373B19160360.attr
00117 
00118       //## Attribute: specular%373B191702AE
00119       //## begin GL_Material::specular%373B191702AE.attr preserve=no  private: float [4] {UA} 
00120       float  specular[4];
00121       //## end GL_Material::specular%373B191702AE.attr
00122 
00123       //## Attribute: emission%373B191800D8
00124       //## begin GL_Material::emission%373B191800D8.attr preserve=no  private: float [4] {UA} 
00125       float  emission[4];
00126       //## end GL_Material::emission%373B191800D8.attr
00127 
00128       //## Attribute: shininess%373B192F01EA
00129       //## begin GL_Material::shininess%373B192F01EA.attr preserve=no  private: double {UA} 
00130       double shininess;
00131       //## end GL_Material::shininess%373B192F01EA.attr
00132 
00133     // Additional Private Declarations
00134       //## begin GL_Material%373B17C102DE.private preserve=yes
00135       //## end GL_Material%373B17C102DE.private
00136 
00137   private: //## implementation
00138     // Additional Implementation Declarations
00139       //## begin GL_Material%373B17C102DE.implementation preserve=yes
00140       //## end GL_Material%373B17C102DE.implementation
00141 
00142 };
00143 
00144 //## begin GL_Material%373B17C102DE.postscript preserve=yes
00145 //## end GL_Material%373B17C102DE.postscript
00146 
00147 // Class GL_Material 
00148 
00149 //## begin module%373B17C102DE.epilog preserve=yes
00150 //## end module%373B17C102DE.epilog
00151 
00152 
00153 #endif

Generated on Sat Apr 1 21:30:35 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO