CMS 3D CMS Logo

IgMatEdModificationAction.cc

Go to the documentation of this file.
00001 //<<<<<< INCLUDES                                                       >>>>>>
00002 
00003 #include "Iguana/Controls/src/IgMatEdModificationAction.h"
00004 #include <Inventor/actions/SoSubAction.h>
00005 #include <Inventor/nodes/SoNode.h>
00006 #include <Inventor/nodes/SoMaterial.h>
00007 #include <classlib/utils/DebugAids.h>
00008 
00009 //<<<<<< PRIVATE DEFINES                                                >>>>>>
00010 //<<<<<< PRIVATE CONSTANTS                                              >>>>>>
00011 //<<<<<< PRIVATE TYPES                                                  >>>>>>
00012 //<<<<<< PRIVATE VARIABLE DEFINITIONS                                   >>>>>>
00013 //<<<<<< PUBLIC VARIABLE DEFINITIONS                                    >>>>>>
00014 //<<<<<< CLASS STRUCTURE INITIALIZATION                                 >>>>>>
00015 //<<<<<< PRIVATE FUNCTION DEFINITIONS                                   >>>>>>
00016 //<<<<<< PUBLIC FUNCTION DEFINITIONS                                    >>>>>>
00017 //<<<<<< MEMBER FUNCTION DEFINITIONS                                    >>>>>>
00018 
00019 SO_ACTION_SOURCE(IgMatEdModificationAction)
00020 
00021 
00022 IgMatEdModificationAction::IgMatEdModificationAction (void)
00023 {
00024     static bool initialized=false;
00025     
00026     if (!initialized)
00027     {
00028         IgMatEdModificationAction::initClass(); 
00029         initialized=true;       
00030     }
00031     
00032     SO_ACTION_CONSTRUCTOR(IgMatEdModificationAction);
00033 }
00034 
00035 IgMatEdModificationAction::~IgMatEdModificationAction (void)
00036 {
00037 }
00038 
00039 void
00040 IgMatEdModificationAction::initClass (void)
00041 {
00042     SO_ACTION_INIT_CLASS(IgMatEdModificationAction, SoAction);
00043     SO_ACTION_ADD_METHOD(SoNode, nullAction);    
00044     SO_ACTION_ADD_METHOD(SoMaterial, &modifyMaterial);
00045 }
00046 
00047 void
00048 IgMatEdModificationAction::modifyMaterial( SoAction */*action*/, SoNode *node)
00049 {
00050     SoMaterial *material = dynamic_cast<SoMaterial *> (node);
00051     ASSERT (material);    
00052     material->shininess.setValue (m_shininess);     
00053     material->transparency.setValue (m_transparency);       
00054     material->ambientColor.setValue (m_ambientColor);       
00055     material->diffuseColor.setValue (m_diffuseColor);       
00056     material->specularColor.setValue (m_specularColor);     
00057     material->emissiveColor.setValue (m_emissiveColor);         
00058 }
00059 
00060 
00061 float IgMatEdModificationAction::m_transparency=0;
00062 float IgMatEdModificationAction::m_shininess=0.2;
00063 float IgMatEdModificationAction::m_diffuseColor[3]={0.8,0.8,0.8};
00064 float IgMatEdModificationAction::m_ambientColor[3]={0.2,0.2,0.2};
00065 float IgMatEdModificationAction::m_specularColor[3]={0,0,0};
00066 float IgMatEdModificationAction::m_emissiveColor[3]={0,0,0};    
00067 

Generated on Tue Jun 9 17:38:12 2009 for CMSSW by  doxygen 1.5.4