cgma
ImprintLineSegment.hpp
Go to the documentation of this file.
00001 //---------------------------------------------------------------------------
00002 //  Class: ImprintLineSegment
00003 //  Description: Utility class for boundary imprinting (ImprintBoundaryTool).
00004 //               Stores a line segment and its bounding box.  Also holds on
00005 //               to the owner of the edge.
00006 //  Owner: David R. White
00007 //  Creation Date: 4/15/2002
00008 //---------------------------------------------------------------------------
00009 #ifndef IMPRINTLINESEGMENT_HPP
00010 #define IMPRINTLINESEGMENT_HPP
00011 
00012 #include "MemoryManager.hpp"
00013 template <class X> class DLIList;
00014 #include "CubitBox.hpp"
00015 class CubitVector;
00016 class RefEntity;
00017 class ImprintPointData;
00018 class ImprintMatchData;
00019 
00020 class ImprintLineSegment 
00021 {
00022 private:
00023   ImprintPointData *startPoint;
00024   ImprintPointData *endPoint;
00025   ImprintLineSegment *nextSeg, *prevSeg;
00026   CubitBox boundingBox;
00027   RefEntity *myOwner;
00028   DLIList <ImprintMatchData*> *segMatches;
00029   
00030   CubitBoolean inactiveFlag;
00031   static MemoryManager memoryManager;
00032     //- memory management object
00033 public:
00034   ImprintLineSegment(ImprintPointData *start_point,
00035                      ImprintPointData *end_point,
00036                      RefEntity *owner_v);
00037     
00038   ~ImprintLineSegment();
00039   
00040   SetDynamicMemoryAllocation(memoryManager)
00041       //- class specific new and delete operators
00042   CubitBox& bounding_box()
00043     {return boundingBox;}
00044     //- Bounding box for the line segment.
00045 
00046   ImprintPointData *get_start()
00047     {return startPoint;}
00048   ImprintPointData *get_end()
00049     {return endPoint;}
00050   RefEntity* owner()
00051     {return myOwner;}
00052     //- Entity that this segment lies on.
00053 
00054   CubitBoolean get_inactive()
00055     {return inactiveFlag;}
00056   void set_inactive(CubitBoolean m)
00057     {inactiveFlag=m;}
00058 
00059   ImprintLineSegment* get_next()
00060     {return nextSeg;}
00061   ImprintLineSegment* get_prev()
00062     {return prevSeg;}
00063 
00064   void set_next(ImprintLineSegment *v)
00065     {nextSeg = v;}
00066   void set_prev(ImprintLineSegment *v)
00067     {prevSeg = v;}
00068 
00069   void add_match_data(ImprintMatchData* m_d);
00070   
00071   void get_match_data(DLIList<ImprintMatchData*> &match_data);
00072   
00073 };
00074 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines