Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

CmdMaterial.C

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr
00003  *cr            (C) Copyright 1995-2011 The Board of Trustees of the
00004  *cr                        University of Illinois
00005  *cr                         All Rights Reserved
00006  *cr
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: CmdMaterial.C,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.29 $       $Date: 2010/12/16 04:08:08 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *  Commands for manipulating materials
00019  ***************************************************************************/
00020 
00021 #include "CmdMaterial.h"
00022 #include "MaterialList.h" // for MAT_XXX definitions
00023 #include "utilities.h"
00024 #include "config.h"
00025 #include "Inform.h"
00026 #include <stdlib.h>
00027 #include <ctype.h>
00028 
00030 
00031 CmdMaterialAdd::CmdMaterialAdd(const char *s, const char *copyfrom)
00032 : Command(MATERIAL_ADD) {
00033   name = copy = NULL;
00034   if (s)
00035     name = stringdup(s);
00036   if (copyfrom)
00037     copy = stringdup(copyfrom);
00038 }
00039 
00040 void CmdMaterialAdd::create_text(void) {
00041   *cmdText << "material add";
00042   if (name)
00043     *cmdText << " " << name;
00044   if (copy)
00045     *cmdText << " copy " << copy;
00046   *cmdText << ends;
00047 }
00048 
00049 CmdMaterialAdd::~CmdMaterialAdd(void) {
00050   delete [] name;
00051   delete [] copy;
00052 }
00053 
00055 
00056 CmdMaterialRename::CmdMaterialRename(const char *oldn, const char *newn) 
00057 : Command(MATERIAL_RENAME) {
00058   oldname = stringdup(oldn);
00059   newname = stringdup(newn);
00060 }
00061 
00062 void CmdMaterialRename::create_text(void) {
00063   *cmdText << "material rename " << oldname << " " << newname << ends;
00064 }
00065 
00066 CmdMaterialRename::~CmdMaterialRename(void) {
00067   delete [] oldname;
00068   delete [] newname;
00069 }
00070 
00072 
00073 CmdMaterialChange::CmdMaterialChange(const char *s, int p, float v)
00074 : Command(MATERIAL_CHANGE) {
00075   name = stringdup(s);
00076   property = p;
00077   val = v;
00078 }
00079 
00080 void CmdMaterialChange::create_text(void) {
00081   *cmdText << "material change ";
00082   switch (property) {
00083     case MAT_AMBIENT: *cmdText << "ambient "; break;
00084     case MAT_SPECULAR: *cmdText << "specular "; break;
00085     case MAT_DIFFUSE: *cmdText << "diffuse "; break;
00086     case MAT_SHININESS: *cmdText << "shininess "; break;
00087     case MAT_OPACITY: *cmdText << "opacity "; break;
00088     case MAT_OUTLINE: *cmdText << "outline "; break;
00089     case MAT_OUTLINEWIDTH: *cmdText << "outlinewidth "; break;
00090     case MAT_TRANSMODE: *cmdText << "transmode "; break;
00091   }
00092   *cmdText << name << " " << val << ends;
00093 }
00094 
00095 CmdMaterialChange::~CmdMaterialChange(void) {
00096   delete [] name;
00097 }
00098 
00100 CmdMaterialDelete::CmdMaterialDelete(const char *s) 
00101 : Command(MATERIAL_DELETE) {
00102   name = stringdup(s);
00103 }
00104 
00105 void CmdMaterialDelete::create_text() {
00106   *cmdText << "material delete " << name << ends;
00107 }
00108 
00109 CmdMaterialDelete::~CmdMaterialDelete() {
00110   delete [] name;
00111 }
00112 
00113 void CmdMaterialDefault::create_text() {
00114   *cmdText << "material default " << ind << ends;
00115 }
00116 

Generated on Wed May 16 01:49:06 2012 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002