00001
00002
00003
00004 #ifndef OBJECT_H
00005 #define OBJECT_H 1
00006
00007 #include "meshmorph.h"
00008
00009 typedef std::map<std::string,Edge*,lts>::const_iterator msep_cit;
00010
00011 class Object
00012 {
00013 private:
00014 std::string name;
00015 Vertex * fv;
00016 Face * ff;
00017 Edge * fe;
00018 public:
00019 vec_v v;
00020 vec_f f;
00021 vec_e e;
00022 Object (std::string);
00023 Object (Object const &);
00024 Object & operator = (Object const &);
00025 void findVertAdj (void);
00026 void boundObject (double * const &) const;
00027 void setFF (Face *);
00028 void setFV (Vertex *);
00029 Edge * getFE (void) const;
00030 Face * getFF (void) const;
00031 Vertex * getFV (void) const;
00032 std::string const & getName (void) const;
00033
00034 int setNumDigits (void) const;
00035 void createEdges (void);
00036 void processEdge (Face * const,
00037 Vertex * const,
00038 Vertex * const,
00039 Vertex * const,
00040 map_s_ep &,
00041 int const &);
00042 void createEdge (Face * const,
00043 Vertex * const,
00044 Vertex * const,
00045 Vertex * const,
00046 map_s_ep &,
00047 int const &);
00048 Edge * findEdge (Vertex const * const,
00049 Vertex const * const,
00050 map_s_ep const &,
00051 int const &) const;
00052 std::string keyPair (int const & a,
00053 int const & b,
00054 int const & num_digits) const;
00055 };
00056
00057 #endif