Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/SessionManager/include/SMHomomorphism.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: SMHomomorphism.h,v 1.2 1996/07/30 20:00:28 bormotov Exp $
00003  */
00004 
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 
00008 // Contents: Declaration of classes SMHomomorphism, SMHomomorphism2 
00009 //
00010 // Principal Author: Dmitry Bormotov
00011 //
00012 // Status: in progress
00013 //
00014 // Revision History:
00015 //
00016 
00017 #ifndef _SMHOMOMORPHISM_H_
00018 #define _SMHOMOMORPHISM_H_
00019 
00020 
00021 #include "SMMap.h"
00022 
00023 
00024 //--------------------------- SMHomomorphism --------------------------------//
00025 
00026 
00027 class SMHomomorphism : public SMMap
00028 {
00029 public:
00030 
00031   /////////////////////////////////////////////////////////////////////////
00032   //                                                                     //
00033   // Constructors:                                                       //
00034   //                                                                     //
00035   /////////////////////////////////////////////////////////////////////////
00036 
00037   SMHomomorphism( const class SMMap& map, const Chars& heritage ) : 
00038     SMMap( map.getDomain(), map.getRange(), map.getMap(), heritage ) { }
00039 
00040   SMHomomorphism( SMFPGroup& G, Map m, const Chars heritage) :
00041     SMMap( G, m, heritage ) { }
00042 
00043   SMHomomorphism( SMFPGroup& G, SMFPGroup& H, Map m, const Chars heritage) :
00044     SMMap( G, H, m, heritage ) { }
00045 
00046 /*
00047   SMMap(SMFPGroup& G, Map m, const Chars heritage);
00048 
00049   SMMap(SMFPGroup& G, SMFPGroup& H, Map m, const Chars heritage);
00050 
00051   SMMap(SMFPGroup& G)
00052   : AlgebraicObject(""), theMap( *((Map*)0) ), theDomain( G ), theRange( G ) 
00053     { }
00054   SMMap(SMFPGroup& G, SMFPGroup& H)
00055   : AlgebraicObject(""), theMap( *((Map*)0) ), theDomain( G ), theRange( H ) 
00056     { }
00057   //@rn Bogus ctors; see `But no' comment in Menu.h
00058 */
00059   /////////////////////////////////////////////////////////////////////////
00060   //                                                                     //
00061   // Accessors:                                                          //
00062   //                                                                     //
00063   /////////////////////////////////////////////////////////////////////////
00064 /*
00065   Map getMap( ) const { return theMap; }
00066 
00067   SMFPGroup& getDomain( ) const { return theDomain; }
00068 
00069   SMFPGroup& getRange( ) const { return theRange; }
00070 */
00071   /////////////////////////////////////////////////////////////////////////
00072   //                                                                     //
00073   // Front End Interfacing:                                              //
00074   //                                                                     //
00075   /////////////////////////////////////////////////////////////////////////
00076 
00077   static const char* type( ) { return "SMHomomorphism"; }
00078 
00079   const char* typeID( ) const { return type(); }        // overrides SMObject
00080 
00081   const IconID iconID( ) const { return IconID::homomorphism; }  
00082   // overrides SMObject
00083 /*
00084   void viewStructure(ostream& ostr) const;              // overrides SMObject
00085 
00086   void printProperties(ostream& ostr) const;            // overrides SMObject
00087 
00088   void printDefinition(ostream& ostr) const;            // overrides SMObject
00089 */
00090 
00091 protected:
00092 
00093   /////////////////////////////////////////////////////////////////////////
00094   //                                                                     //
00095   // Restricted Access:                                                  //
00096   //                                                                     //
00097   /////////////////////////////////////////////////////////////////////////
00098 
00099   void readMessage(istream&) { }                        // overrides SMObject
00100 
00101 
00102 private:
00103 
00104   /////////////////////////////////////////////////////////////////////////
00105   //                                                                     //
00106   // Data Members:                                                       //
00107   //                                                                     //
00108   /////////////////////////////////////////////////////////////////////////
00109 /*
00110   const Map theMap;
00111 
00112   SMFPGroup& theDomain;
00113 
00114   SMFPGroup& theRange;
00115 */
00116 };
00117 
00118 
00119 //--------------------------- SMHomomorphism2 -------------------------------//
00120 
00121 
00122 class SMHomomorphism2 : public SMHomomorphism
00123 {
00124 public:
00125 
00126   /////////////////////////////////////////////////////////////////////////
00127   //                                                                     //
00128   // Constructors:                                                       //
00129   //                                                                     //
00130   /////////////////////////////////////////////////////////////////////////
00131 
00132   SMHomomorphism2( const class SMMap& map, const Chars& heritage ) : 
00133     SMHomomorphism( map, heritage ) { }
00134 
00135   SMHomomorphism2( SMFPGroup& G, SMFPGroup& H, Map m, const Chars heritage) :
00136     SMHomomorphism( G, H, m, heritage ) { }
00137 
00138 /*
00139   SMMap(SMFPGroup& G, Map m, const Chars heritage);
00140 
00141   SMMap(SMFPGroup& G, SMFPGroup& H, Map m, const Chars heritage);
00142 
00143   SMMap(SMFPGroup& G)
00144   : AlgebraicObject(""), theMap( *((Map*)0) ), theDomain( G ), theRange( G ) 
00145     { }
00146   SMMap(SMFPGroup& G, SMFPGroup& H)
00147   : AlgebraicObject(""), theMap( *((Map*)0) ), theDomain( G ), theRange( H ) 
00148     { }
00149   //@rn Bogus ctors; see `But no' comment in Menu.h
00150 */
00151   /////////////////////////////////////////////////////////////////////////
00152   //                                                                     //
00153   // Accessors:                                                          //
00154   //                                                                     //
00155   /////////////////////////////////////////////////////////////////////////
00156 /*
00157   Map getMap( ) const { return theMap; }
00158 
00159   SMFPGroup& getDomain( ) const { return theDomain; }
00160 
00161   SMFPGroup& getRange( ) const { return theRange; }
00162 */
00163   /////////////////////////////////////////////////////////////////////////
00164   //                                                                     //
00165   // Front End Interfacing:                                              //
00166   //                                                                     //
00167   /////////////////////////////////////////////////////////////////////////
00168 
00169   static const char* type( ) { return "SMHomomorphism2"; }
00170 
00171   const char* typeID( ) const { return type(); }        // overrides SMObject
00172 /*
00173   const IconID iconID( ) const { return IconID::homomorphism2; }  
00174   // overrides SMObject
00175 */
00176 /*
00177   void viewStructure(ostream& ostr) const;              // overrides SMObject
00178 
00179   void printProperties(ostream& ostr) const;            // overrides SMObject
00180 
00181   void printDefinition(ostream& ostr) const;            // overrides SMObject
00182 */
00183 
00184 protected:
00185 
00186   /////////////////////////////////////////////////////////////////////////
00187   //                                                                     //
00188   // Restricted Access:                                                  //
00189   //                                                                     //
00190   /////////////////////////////////////////////////////////////////////////
00191 
00192 //  void readMessage(istream&) { }                        // overrides SMObject
00193 
00194 
00195 private:
00196 
00197   /////////////////////////////////////////////////////////////////////////
00198   //                                                                     //
00199   // Data Members:                                                       //
00200   //                                                                     //
00201   /////////////////////////////////////////////////////////////////////////
00202 /*
00203   const Map theMap;
00204 
00205   SMFPGroup& theDomain;
00206 
00207   SMFPGroup& theRange;
00208 */
00209 };
00210 
00211 #endif

Generated at Tue Jun 19 09:49:39 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001