CFx SDK Documentation  2023 SP0
FxInputPointManager.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2005-2022 by Graebert GmbH.
3 //
4 // Permission to use, copy, modify, and distribute this software in
5 // object code form for any purpose and without fee is hereby granted,
6 // provided that the above copyright notice appears in all copies and
7 // that both that copyright notice and the limited warranty and
8 // restricted rights notice below appear in all supporting
9 // documentation.
10 //
11 // GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12 // GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15 // UNINTERRUPTED OR ERROR FREE.
16 
17 #pragma once
18 
19 #include "FxPragmaPush.h"
20 
21 #include "DDKERNEL.h"
22 
23 #include "FxOsnapPoint.h"
24 
25 #include <Ge/GePoint3d.h>
26 
28 class CFxHitTestInfo;
29 class CFxView;
30 class CFxTracker;
31 class CFxOtrackPoint;
32 class CFxGripPoint;
33 class CFxOrthoPoint;
34 class CFxOsnapPoint;
35 class CFxSelectionSet;
36 class CFxDocument;
37 class CFxExpressionParser;
38 class IFxConstraintManager;
40 class CFxDraggingPreview;
47 {
48  friend class CFxExpressionParser;
49 public:
51  {
52  eByAPERTURE = 1,
53  eByPICKBOX = 2,
54  eByFramePreview = 3,
55  eByMaxRequiredSize = 4
56  };
57 
59 
61 public:
62  ~CFxInputPointManager(void) override;
65  virtual void AddInputContextReactor(CFxInputContextReactor* pReactor) = 0;
71  virtual void AddTracker( CFxTracker* pTracker, bool bPermanent ) = 0;
74  virtual void RemoveTracker( CFxTracker* pTracker ) = 0;
78 
81  virtual bool IsUpdateTrackersActive() const = 0;
84  virtual bool IsDrawTrackersActive() const = 0;
87  virtual void AddGrVecsVector( const CFxView* pView, int color, const OdGePoint3d& start, const OdGePoint3d& end, int flag ) = 0;
90  virtual CFxExpressionParser* GetParameterParser() const = 0;
94  virtual const OdGePoint3d& GetPrimaryPoint() const = 0;
98  virtual const OdGePoint3d& GetPrimaryClickPoint() const = 0;
102  virtual const OdGePoint3d* GetBasePoint() const = 0;
106  virtual void SetBasePoint(const OdGePoint3d* pBasePoint) = 0;
109  virtual void SetRubberLinePoint(const OdGePoint3d* pRubberLinePoint ) = 0;
110 
111  virtual const CFxOtrackPoint* GetOtrackPoint() const = 0;
114  virtual const OdGePoint3d& GetRubberLinePoint() const = 0;
117  virtual const OdGePoint3d& GetRubberLineClickPoint() const = 0;
120  virtual const OdGePoint3d& GetCursorPoint() const = 0;
123  virtual const OdGePoint3d& GetCursorClickPoint() const = 0;
127  virtual const CFxGripPoint* GetGripPoint() const = 0;
131  virtual void SetGripPoint(const CFxGripPoint* pGrip) = 0;
135  virtual IFxConstraintManager* GetConstraintManager() const = 0;
139  virtual const CFxOrthoPoint* GetOrthoPoint() const = 0;
142  virtual const CFxOsnapPoint* GetOsnapPoint(bool bCalculate) const = 0;
146  virtual void SetOsnapPoint(const CFxOsnapPoint* pOsnap) = 0;
150  virtual void SetOsnapPoint( CFxOsnapPoint::OsnapMode osnapMode, const OdGePoint3d& point, const OdDbFullSubentPath& first, const OdDbFullSubentPath& second ) = 0;
154  virtual const CFxSelectionSet* GetSelectionSet( EntitiesMode mode = eByAPERTURE ) const = 0;
160  virtual void EnableOsnapCalculation( bool bVal ) = 0;
163  virtual bool IsOsnapCalculationEnabled() const = 0;
166  virtual void EnableOtrackCalculation( bool bVal ) = 0;
169  virtual bool IsOtrackCalculationEnabled() const = 0;
172  virtual void EnableOrthoCalculation( bool bVal ) = 0;
175  virtual bool IsOrthoCalculationEnabled() const = 0;
178  virtual void EnableGripsCalculation( bool bVal ) = 0;
181  virtual bool IsGripsCalculationEnabled() const = 0;
184  virtual void EnableSnapCalculation( bool bVal ) = 0;
187  virtual bool IsSnapCalculationEnabled() const = 0;
190  virtual bool IsOtrackPolarCalculationEnabled() const = 0;
193  virtual bool IsCursorSnapping() const = 0;
196  virtual void EnableOtrackPolarCalculation( bool bVal ) = 0;
199  virtual OdInt16 GetCurrentOSMODE() const = 0;
202  virtual void SetCurrentOSMODE( OdInt16 iNewMode) = 0;
205  virtual const OdGePlane& GetWorkingPlane() const = 0;
208  virtual void AddOtrackBasePoint( const CFxOsnapPoint*, bool ignoreOtrack = false) = 0;
211  virtual void ClearOtrackBasePoints() = 0;
216  virtual void SkipCurrentInputPoint( bool skip = true ) = 0;
219  virtual const CFxDocument* GetFxDocument() const = 0;
220 
225 
229  virtual void GetWorkingPlaneSystem( OdGePoint3d& origin, OdGeVector3d& xAxis, OdGeVector3d& yAxis) const;
230 
233  static void GetCursorSystem( const CFxView* pFxView, OdGePoint3d& ptOrigin, OdGeVector3d& xAxis, OdGeVector3d& yAxis );
234 
235  static void GetElevatedUcsPlane( const CFxView* pFxView, OdGePoint3d& ptOrigin, OdGeVector3d& xAxis, OdGeVector3d& yAxis );
236 
237  static void GetWorkPlane( const CFxView* pFxView, OdGePoint3d& ptOrigin, OdGeVector3d& xAxis, OdGeVector3d& yAxis );
238 
239  virtual bool UpdateTrackers( const CFxEvent * event ) = 0;
240 
246  virtual void AllowAbortOperation( bool bVal ) = 0;
247 
252  virtual bool OperationAborted() const = 0;
253 
260  virtual void ResetAbortOperation( bool bSet, unsigned int iInterval ) = 0;
261 
269  virtual bool CalculateWCSToSnapMatrix( const OdGePoint2d& unitsUCS, OdGeMatrix3d& result, OdGeMatrix3d* wcs2ucs = 0, OdGePlane* planeUCS = 0 ) = 0;
270 
276  virtual void SetPrimaryPoint( const OdGePoint3d& pt, bool bForceUpdate = false ) = 0;
277 
281  virtual void CacheMe( const CFxTracker* pTracker, bool bAddToCache, int iPriority ) = 0;
282 
284  virtual void SetRibbonContextualState( CFxRibbonContextualState* pContextualState ) = 0;
285 
286  virtual const CFxDraggingPreview* GetDraggingPreview() const = 0;
287  virtual void SetDraggingPreview( CFxDraggingPreview* pDraggingPreview ) = 0;
288 
289  virtual const CFxOsnapPoint * GetLastOsnapPoint() const = 0;
290 };
291 
293 
295 {
296 public:
298  {
299  };
301  {
302  };
303  virtual int GetType() const = 0;
304  virtual void* GetData() const = 0;
305 };
306 
307 #include "FxPragmaPop.h"
#define DDKERNEL_API
Definition: DDKERNEL.h:32
OdSmartPtr< CFxInputPointManager > CFxInputPointManagerPtr
#define CFxEvent
short OdInt16
virtual bool CalculateWCSToSnapMatrix(const OdGePoint2d &unitsUCS, OdGeMatrix3d &result, OdGeMatrix3d *wcs2ucs=0, OdGePlane *planeUCS=0)=0
~CFxInputPointManager(void) override
virtual const CFxOsnapPoint * GetOsnapPoint(bool bCalculate) const =0
virtual void EnableOtrackPolarCalculation(bool bVal)=0
virtual OdInt16 GetCurrentOSMODE() const =0
virtual bool IsUpdateTrackersActive() const =0
virtual bool IsSnapCalculationEnabled() const =0
virtual CFxHitTestInfo * GetHitTestInfo()=0
virtual bool IsOtrackCalculationEnabled() const =0
virtual void EnableOrthoCalculation(bool bVal)=0
virtual bool IsCursorSnapping() const =0
virtual void AllowAbortOperation(bool bVal)=0
virtual void RemoveInputContextReactor(CFxInputContextReactor *pReact)=0
virtual bool IsOsnapCalculationEnabled() const =0
virtual const CFxDocument * GetFxDocument() const =0
virtual bool IsOtrackPolarCalculationEnabled() const =0
virtual void EnableGripsCalculation(bool bVal)=0
virtual void AddInputContextReactor(CFxInputContextReactor *pReactor)=0
static void GetWorkPlane(const CFxView *pFxView, OdGePoint3d &ptOrigin, OdGeVector3d &xAxis, OdGeVector3d &yAxis)
virtual const OdGePoint3d & GetPrimaryClickPoint() const =0
virtual void AddGrVecsVector(const CFxView *pView, int color, const OdGePoint3d &start, const OdGePoint3d &end, int flag)=0
virtual const OdGePoint3d * GetBasePoint() const =0
virtual const CFxOrthoPoint * GetOrthoPoint() const =0
virtual const OdGePoint3d & GetCursorPoint() const =0
virtual void SkipCurrentInputPoint(bool skip=true)=0
virtual void EnableOtrackCalculation(bool bVal)=0
virtual void SetOsnapPoint(const CFxOsnapPoint *pOsnap)=0
virtual void ClearOtrackBasePoints()=0
virtual void CacheMe(const CFxTracker *pTracker, bool bAddToCache, int iPriority)=0
virtual bool IsOrthoCalculationEnabled() const =0
virtual bool IsGripsCalculationEnabled() const =0
static void GetElevatedUcsPlane(const CFxView *pFxView, OdGePoint3d &ptOrigin, OdGeVector3d &xAxis, OdGeVector3d &yAxis)
virtual bool IsDrawTrackersActive() const =0
virtual CFxExpressionParser * GetParameterParser() const =0
virtual OdGeMatrix3d WorldToWorkingPlaneMatrix() const
static void GetCursorSystem(const CFxView *pFxView, OdGePoint3d &ptOrigin, OdGeVector3d &xAxis, OdGeVector3d &yAxis)
virtual void SetCurrentOSMODE(OdInt16 iNewMode)=0
virtual void SetDraggingPreview(CFxDraggingPreview *pDraggingPreview)=0
virtual bool OperationAborted() const =0
virtual const OdGePoint3d & GetCursorClickPoint() const =0
virtual void SetGripPoint(const CFxGripPoint *pGrip)=0
ODRX_DECLARE_MEMBERS(CFxInputPointManager)
virtual const CFxDraggingPreview * GetDraggingPreview() const =0
virtual const CFxOsnapPoint * GetLastOsnapPoint() const =0
virtual void AddTracker(CFxTracker *pTracker, bool bPermanent)=0
virtual const OdGePoint3d & GetRubberLineClickPoint() const =0
virtual void EnableOsnapCalculation(bool bVal)=0
virtual void SetOsnapPoint(CFxOsnapPoint::OsnapMode osnapMode, const OdGePoint3d &point, const OdDbFullSubentPath &first, const OdDbFullSubentPath &second)=0
virtual void AddOtrackBasePoint(const CFxOsnapPoint *, bool ignoreOtrack=false)=0
virtual void RemoveTracker(CFxTracker *pTracker)=0
virtual const OdGePoint3d & GetRubberLinePoint() const =0
virtual const CFxOtrackPoint * GetOtrackPoint() const =0
virtual const CFxGripPoint * GetGripPoint() const =0
virtual void GetWorkingPlaneSystem(OdGePoint3d &origin, OdGeVector3d &xAxis, OdGeVector3d &yAxis) const
virtual void SetRubberLinePoint(const OdGePoint3d *pRubberLinePoint)=0
virtual void ResetAbortOperation(bool bSet, unsigned int iInterval)=0
virtual void SetPrimaryPoint(const OdGePoint3d &pt, bool bForceUpdate=false)=0
virtual CFxSelectionSet * GetSelectionSetCopy(EntitiesMode mode) const =0
virtual bool UpdateTrackers(const CFxEvent *event)=0
virtual const CFxSelectionSet * GetSelectionSet(EntitiesMode mode=eByAPERTURE) const =0
virtual CFxRibbonContextualState * GetRibbonContextualState() const =0
virtual const OdGePlane & GetWorkingPlane() const =0
virtual IFxConstraintManager * GetConstraintManager() const =0
virtual const OdGePoint3d & GetPrimaryPoint() const =0
virtual void SetBasePoint(const OdGePoint3d *pBasePoint)=0
virtual void EnableSnapCalculation(bool bVal)=0
virtual void SetRibbonContextualState(CFxRibbonContextualState *pContextualState)=0
virtual void * GetData() const =0
virtual int GetType() const =0