osnapmk.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: osnapmk.h
00004 
00005     DESCRIPTION:  A Class for an osnapmarker
00006 
00007     CREATED BY: John Hutchinson
00008 
00009     HISTORY: Feb 12, 1996
00010  *> Copyright (c) 1994, All Rights Reserved.
00011  **********************************************************************/
00012 #pragma once
00013 #include "coreexp.h"
00014 #include "maxheap.h"
00015 #include "ipoint3.h"
00016 #include "BuildWarnings.h"
00017 #include <WTypes.h>
00018 
00019 // forward declarations
00020 class GraphicsWindow;
00021 
00031 class OsnapMarker: public MaxHeapOperators 
00032 {
00033 private:
00034     int      m_numpoints;
00035     IPoint3* m_ppt;
00036     IPoint3* m_pcache;
00037     IPoint3  m_cache_trans;
00038     int      m_cache_size;
00039     int*     m_edgevis;
00040 
00041     bool  IsCacheValidEx(IPoint3 trans, int size);
00042     void UpdateCache(IPoint3 trans, int size);
00043 
00044 public:
00047     CoreExport OsnapMarker();
00050     CoreExport ~OsnapMarker();
00069     CoreExport OsnapMarker(int n, IPoint3 *ppt, int *pes);
00075     CoreExport OsnapMarker(const OsnapMarker& om);
00080     CoreExport OsnapMarker& operator=(const OsnapMarker& om);
00086     void display(IPoint3 xyz, int markersize, GraphicsWindow *gw);
00087 };
00088