00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Ondrej Kos 00008 * Side Effects Software Inc. 00009 * 477 Richmond St. West 00010 * Toronto, Ontario, M5V 3E7 00011 * Canada 00012 * 416-504-9876 00013 * 00014 * NAME: GU_SelectionConMgr (C++) 00015 * 00016 * COMMENTS: 00017 * A class to manage the various connectivity caches for connected 00018 * selections. Rather than reproducing this functionality in each 00019 * connected selection class we just have to include this manager. 00020 * 00021 */ 00022 00023 #ifndef __GU_SelectionConMgr_h__ 00024 #define __GU_SelectionConMgr_h__ 00025 00026 #include "GU_API.h" 00027 #include "GU_SelectType.h" 00028 00029 class GEO_PointClassifier; 00030 class GEO_PrimClassifier; 00031 class GEO_PrimConnector; 00032 class GU_Detail; 00033 00034 class GU_API GU_SelectionConMgr 00035 { 00036 public: 00037 GU_SelectionConMgr(GU_Detail &gdp, int build_connected_points); 00038 ~GU_SelectionConMgr(void); 00039 00040 void clear(void); 00041 00042 void topologyChanged() { myConnectorsDirty = true; } 00043 00044 GEO_PrimConnector *getConnector(GU_SelectionConnectivity ctype, 00045 bool view_3d); 00046 00047 protected: 00048 GU_Detail &myGdp; 00049 int myBuildConnectedPoints; 00050 00051 GEO_PrimClassifier *myClassifierUV; 00052 GEO_PrimConnector *myConnectorUV; 00053 00054 GEO_PointClassifier *myPointClassifier3D; 00055 GEO_PrimClassifier *myClassifier3D; 00056 GEO_PrimConnector *myConnector3D; 00057 00058 bool myLast3DVisibility; 00059 bool myLastUseVisibility; 00060 bool myConnectorsDirty; 00061 00062 private: 00063 }; 00064 00065 #endif
1.5.9