00001 #ifndef CATGraphicPathElement_h
00002 #define CATGraphicPathElement_h
00003
00004 // COPYRIGHT DASSAULT SYSTEMES 1999
00005
00012 /*
00013 * HISTORY :
00014 * 17 Juillet 2001 - CDT : on surcharge le new/delete pour augmenter les perfos
00015 */
00016
00017
00018 #include "CATVisualization.h"
00019
00020 #include "CATPathElement.h"
00021 #include "CATEventSubscriber.h"
00022 #include "CATMathPointf.h"
00023 #include "CATMathDirectionf.h"
00024
00025
00026 class CATViewer;
00027
00028
00043 class ExportedByCATVisualization CATGraphicPathElement : public CATPathElement
00044 {
00045
00047 CATDeclareClass;
00048
00049
00050
00051 public:
00052
00076 CATGraphicPathElement ( const CATBaseUnknown* iTopObject,
00077 CATViewer* iViewer,
00078 CATMathPointf iIntersectionPoint,
00079 CATMathDirectionf iNormal,
00080 CATMathDirectionf iGlobalNormal=CATMathDirectionf() );
00081
00088 CATGraphicPathElement ( const CATGraphicPathElement& iBrother );
00089
00090
00099 CATGraphicPathElement ( const CATPathElement& iBrother );
00100
00101
00112 CATGraphicPathElement& operator = ( const CATGraphicPathElement& iBrother);
00113
00114
00115 virtual ~CATGraphicPathElement ();
00116
00117
00125 virtual CATPathElement* Clone () const;
00126
00127
00158 virtual CATBaseUnknown* FindElement (const IID& iid);
00159
00160
00165 virtual CATPathElement* GetSubPath ( const CATListOfCATString iList_Interfaces, int &oPos ) const;
00166
00167
00172 virtual void SaveOriginalPath (CATPathElement* iPath);
00173
00178 virtual CATPathElement* GetOriginalPath ();
00179
00184 virtual void SetOffsetForSearch (int iOffset);
00185
00190 virtual CATBaseUnknown* FindObject(const IID &iid) ;
00191
00201 void SetInteractiveContext ( CATVisInteractiveContext iContext );
00202
00203
00212 CATVisInteractiveContext GetInteractiveContext () const;
00213
00214
00215 private:
00216
00217 void CleanReference (CATCallbackEvent, void *, CATNotification *, CATSubscriberData, CATCallback );
00218
00219 CATViewer* _viewer;
00220 CATMathPointf _intersection;
00221 CATMathDirectionf _globalNormale;
00222 CATMathDirectionf _normale;
00223 CATVisInteractiveContext _context;
00224 // embedded path element ; useful for OtherSelection/DrillingSelector
00225 CATPathElement* _OriginalPath;
00226
00227 };
00228
00229 #endif |