00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "P_CmdTool.h"
00026 #include <stdlib.h>
00027 #include <string.h>
00028
00029 CmdToolCreate::CmdToolCreate(const char *thetype, int theargc, const char **theUSL)
00030 : Command(Command::TOOL_CREATE) {
00031 int i;
00032 argc=theargc;
00033 USL = new char *[argc];
00034 for(i=0;i<argc;i++)
00035 USL[i]=strdup(theUSL[i]);
00036 type = strdup(thetype);
00037 }
00038
00039 CmdToolCreate::~CmdToolCreate() {
00040 int i;
00041 for(i=0;i<argc;i++) free(USL[i]);
00042 delete [] USL;
00043 free(type);
00044 }
00045
00046 void CmdToolCreate::create_text() {
00047 int i;
00048 *cmdText << "tool create " << type;
00049 for(i=0;i<argc;i++) *cmdText << " " << USL[i];
00050 *cmdText << ends;
00051 }
00052
00053 CmdToolChange::CmdToolChange(const char *thetype, int thenum)
00054 : Command(Command::TOOL_CHANGE) {
00055 num = thenum;
00056 type = strdup(thetype);
00057 }
00058
00059 CmdToolChange::~CmdToolChange() {
00060 free(type);
00061 }
00062
00063 void CmdToolChange::create_text() {
00064 *cmdText << "tool change " << type << " " << num << ends;
00065 }
00066
00067 CmdToolDelete::CmdToolDelete(int thenum)
00068 : Command(Command::TOOL_DELETE) {
00069 num=thenum;
00070 }
00071
00072 void CmdToolDelete::create_text() {
00073 *cmdText << "tool delete " << num;
00074 }
00075
00076 CmdToolScale::CmdToolScale(float thescale, int thenum)
00077 : Command(Command::TOOL_SCALE) {
00078 num=thenum;
00079 scale=thescale;
00080 }
00081
00082 void CmdToolScale::create_text() {
00083 *cmdText << "tool scale " << scale << " " << num;
00084 }
00085
00086 CmdToolScaleForce::CmdToolScaleForce(float thescale, int thenum)
00087 : Command(Command::TOOL_SCALE_FORCE) {
00088 num=thenum;
00089 scale=thescale;
00090 }
00091
00092 void CmdToolScaleForce::create_text() {
00093 *cmdText << "tool scaleforce " << scale << " " << num;
00094 }
00095
00096 CmdToolScaleSpring::CmdToolScaleSpring(float thescale, int thenum)
00097 : Command(Command::TOOL_SCALE_SPRING) {
00098 num=thenum;
00099 scale=thescale;
00100 }
00101
00102 void CmdToolScaleSpring::create_text() {
00103 *cmdText << "tool scalespring " << scale << " " << num;
00104 }
00105
00106 CmdToolOffset::CmdToolOffset(float *theoffset, int thenum)
00107 : Command(Command::TOOL_OFFSET) {
00108 int i;
00109 num=thenum;
00110 for(i=0;i<3;i++)
00111 offset[i] = theoffset[i];
00112 }
00113
00114 void CmdToolOffset::create_text() {
00115 *cmdText << "tool offset "
00116 << offset[0] << " " << offset[1] << " " << offset[2] << " "
00117 << num;
00118 }
00119
00120 CmdToolAddDevice::CmdToolAddDevice(const char *thename, int thenum)
00121 : Command(Command::TOOL_ADD_DEVICE) {
00122 name = strdup(thename);
00123 num = thenum;
00124 }
00125
00126 CmdToolAddDevice::~CmdToolAddDevice() {
00127 free(name);
00128 }
00129
00130 void CmdToolAddDevice::create_text() {
00131 *cmdText << "tool adddevice " << name << " " << num;
00132 }
00133
00134 CmdToolDeleteDevice::CmdToolDeleteDevice(const char *thename,
00135 int thenum)
00136 : Command(Command::TOOL_DELETE_DEVICE) {
00137 name = strdup(thename);
00138 num = thenum;
00139 }
00140
00141 CmdToolDeleteDevice::~CmdToolDeleteDevice() {
00142 free(name);
00143 }
00144
00145 void CmdToolDeleteDevice::create_text() {
00146 *cmdText << "tool removedevice " << name << " " << num;
00147 }
00148
00149 CmdToolRep::CmdToolRep(int tool, int mol, int rep)
00150 : Command(Command::TOOL_REP), toolnum(tool), molid(mol), repnum(rep) {}
00151
00152 void CmdToolRep::create_text() {
00153 *cmdText << "tool rep " << toolnum << " " << molid << " " << repnum;
00154 }
00155
00156 CmdToolCallback::CmdToolCallback(int the_on)
00157 : Command(Command::TOOL_CALLBACK) {
00158 on = the_on;
00159 }
00160
00161 void CmdToolCallback::create_text() {
00162 if(on) {
00163 *cmdText << "tool callback on";
00164 } else {
00165 *cmdText << "tool callback off";
00166 }
00167 }