CFx SDK Documentation  2020SP3
FxInputPointManager.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2005-2020 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 void 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"
CFxInputPointManager::ClearOtrackBasePoints
virtual void ClearOtrackBasePoints()=0
FxPragmaPop.h
CFxInputPointManager::CFxInputPointManager
CFxInputPointManager(void)
OdGePlane
Definition: GePlane.h:45
CFxInputPointManager::EntitiesMode
EntitiesMode
Definition: FxInputPointManager.h:51
OdGeVector3d
Definition: GeVector3d.h:54
CFxInputPointManager::EnableOsnapCalculation
virtual void EnableOsnapCalculation(bool bVal)=0
CFxInputPointManager::GetConstraintManager
virtual IFxConstraintManager * GetConstraintManager() const =0
CFxInputPointManager::GetPrimaryPoint
virtual const OdGePoint3d & GetPrimaryPoint() const =0
CFxInputPointManager::GetSelectionSetCopy
virtual CFxSelectionSet * GetSelectionSetCopy(EntitiesMode mode) const =0
CFxHitTestInfo
Definition: FxHitTestInfo.h:37
CFxOsnapPoint
Definition: FxOsnapPoint.h:30
CFxInputPointManager::GetRubberLinePoint
virtual const OdGePoint3d & GetRubberLinePoint() const =0
CFxInputPointManager::GetLastOsnapPoint
virtual const CFxOsnapPoint * GetLastOsnapPoint() const =0
CFxInputPointManager::EnableSnapCalculation
virtual void EnableSnapCalculation(bool bVal)=0
CFxInputPointManager::CalculateWCSToSnapMatrix
virtual bool CalculateWCSToSnapMatrix(const OdGePoint2d &unitsUCS, OdGeMatrix3d &result, OdGeMatrix3d *wcs2ucs=0, OdGePlane *planeUCS=0)=0
CFxEvent
#define CFxEvent
Definition: FxPlatformSettings.h:90
CFxInputPointManager::WorldToWorkingPlaneMatrix
virtual OdGeMatrix3d WorldToWorkingPlaneMatrix() const
CFxInputPointManager::SetOsnapPoint
virtual void SetOsnapPoint(const CFxOsnapPoint *pOsnap)=0
OdRxObject
Definition: RxObject.h:564
FxOsnapPoint.h
CFxSelectionSet
Definition: FxSelectionSet.h:49
CFxRibbonContextualState::~CFxRibbonContextualState
virtual ~CFxRibbonContextualState()
Definition: FxInputPointManager.h:300
CFxInputPointManager::AddOtrackBasePoint
virtual void AddOtrackBasePoint(const CFxOsnapPoint *, bool ignoreOtrack=false)=0
CFxInputPointManager::GetOsnapPoint
virtual const CFxOsnapPoint * GetOsnapPoint(bool bCalculate) const =0
OdDbFullSubentPath
Definition: DbSubentId.h:49
CFxInputPointManager::UpdateTrackers
virtual void UpdateTrackers(const CFxEvent *event)=0
CFxInputPointManager::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(CFxInputPointManager)
DDKERNEL.h
CFxInputPointManager::GetCursorPoint
virtual const OdGePoint3d & GetCursorPoint() const =0
CFxInputPointManager::CacheMe
virtual void CacheMe(const CFxTracker *pTracker, bool bAddToCache, int iPriority)=0
CFxInputPointManager::GetCursorSystem
static void GetCursorSystem(const CFxView *pFxView, OdGePoint3d &ptOrigin, OdGeVector3d &xAxis, OdGeVector3d &yAxis)
CFxInputPointManager::IsCursorSnapping
virtual bool IsCursorSnapping() const =0
CFxInputPointManager::EnableOrthoCalculation
virtual void EnableOrthoCalculation(bool bVal)=0
CFxOrthoPoint
Definition: FxOrthoPoint.h:26
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdInt16
short OdInt16
Definition: OdPlatformSettings.h:756
CFxInputPointManager::ResetAbortOperation
virtual void ResetAbortOperation(bool bSet, unsigned int iInterval)=0
CFxInputPointManager::IsUpdateTrackersActive
virtual bool IsUpdateTrackersActive() const =0
CFxInputPointManager::SetGripPoint
virtual void SetGripPoint(const CFxGripPoint *pGrip)=0
CFxInputPointManager::EnableOtrackPolarCalculation
virtual void EnableOtrackPolarCalculation(bool bVal)=0
CFxInputPointManager
Definition: FxInputPointManager.h:47
CFxInputPointManager::GetFxDocument
virtual const CFxDocument * GetFxDocument() const =0
CFxOtrackPoint
Definition: FxOtrackPoint.h:26
CFxInputPointManager::GetRubberLineClickPoint
virtual const OdGePoint3d & GetRubberLineClickPoint() const =0
OdSmartPtr
Definition: SmartPtr.h:58
CFxInputPointManager::GetOtrackPoint
virtual const CFxOtrackPoint * GetOtrackPoint() const =0
OdGePoint3d
Definition: GePoint3d.h:55
CFxInputContextReactor
Definition: FxInputContextReactor.h:40
CFxRibbonContextualState::CFxRibbonContextualState
CFxRibbonContextualState()
Definition: FxInputPointManager.h:297
CFxInputPointManager::GetCursorClickPoint
virtual const OdGePoint3d & GetCursorClickPoint() const =0
CFxInputPointManager::GetCurrentOSMODE
virtual OdInt16 GetCurrentOSMODE() const =0
CFxInputPointManager::IsGripsCalculationEnabled
virtual bool IsGripsCalculationEnabled() const =0
CFxInputPointManager::IsSnapCalculationEnabled
virtual bool IsSnapCalculationEnabled() const =0
CFxInputPointManager::GetWorkPlane
static void GetWorkPlane(const CFxView *pFxView, OdGePoint3d &ptOrigin, OdGeVector3d &xAxis, OdGeVector3d &yAxis)
GePoint3d.h
CFxInputPointManager::GetSelectionSet
virtual const CFxSelectionSet * GetSelectionSet(EntitiesMode mode=eByAPERTURE) const =0
CFxInputPointManager::IsOrthoCalculationEnabled
virtual bool IsOrthoCalculationEnabled() const =0
CFxInputPointManager::GetParameterParser
virtual CFxExpressionParser * GetParameterParser() const =0
CFxInputPointManager::GetPrimaryClickPoint
virtual const OdGePoint3d & GetPrimaryClickPoint() const =0
CFxTracker
Definition: FxTracker.h:36
CFxDocument
Definition: FxDocument.h:47
CFxInputPointManager::GetDraggingPreview
virtual const CFxDraggingPreview * GetDraggingPreview() const =0
CFxInputPointManager::AddInputContextReactor
virtual void AddInputContextReactor(CFxInputContextReactor *pReactor)=0
CFxRibbonContextualState::GetType
virtual int GetType() const =0
DDKERNEL_API
#define DDKERNEL_API
Definition: DDKERNEL.h:32
CFxInputPointManager::~CFxInputPointManager
~CFxInputPointManager(void) override
CFxView
Definition: FxView.h:265
CFxOsnapPoint::OsnapMode
OsnapMode
Definition: FxOsnapPoint.h:34
CFxInputPointManager::SetOsnapPoint
virtual void SetOsnapPoint(CFxOsnapPoint::OsnapMode osnapMode, const OdGePoint3d &point, const OdDbFullSubentPath &first, const OdDbFullSubentPath &second)=0
CFxRibbonContextualState
Definition: FxInputPointManager.h:295
CFxInputPointManager::SetBasePoint
virtual void SetBasePoint(const OdGePoint3d *pBasePoint)=0
CFxInputPointManager::GetGripPoint
virtual const CFxGripPoint * GetGripPoint() const =0
CFxInputPointManager::SetRubberLinePoint
virtual void SetRubberLinePoint(const OdGePoint3d *pRubberLinePoint)=0
CFxInputPointManager::RemoveInputContextReactor
virtual void RemoveInputContextReactor(CFxInputContextReactor *pReact)=0
CFxInputPointManager::RemoveTracker
virtual void RemoveTracker(CFxTracker *pTracker)=0
CFxInputPointManager::GetWorkingPlane
virtual const OdGePlane & GetWorkingPlane() const =0
CFxInputPointManager::IsOtrackPolarCalculationEnabled
virtual bool IsOtrackPolarCalculationEnabled() const =0
CFxInputPointManager::EnableOtrackCalculation
virtual void EnableOtrackCalculation(bool bVal)=0
CFxInputPointManager::SetPrimaryPoint
virtual void SetPrimaryPoint(const OdGePoint3d &pt, bool bForceUpdate=false)=0
CFxInputPointManager::AddGrVecsVector
virtual void AddGrVecsVector(const CFxView *pView, int color, const OdGePoint3d &start, const OdGePoint3d &end, int flag)=0
CFxInputPointManager::AddTracker
virtual void AddTracker(CFxTracker *pTracker, bool bPermanent)=0
CFxInputPointManager::SkipCurrentInputPoint
virtual void SkipCurrentInputPoint(bool skip=true)=0
CFxInputPointManager::GetRibbonContextualState
virtual CFxRibbonContextualState * GetRibbonContextualState() const =0
CFxInputPointManagerPtr
OdSmartPtr< CFxInputPointManager > CFxInputPointManagerPtr
Definition: FxInputPointManager.h:292
CFxInputPointManager::IsOsnapCalculationEnabled
virtual bool IsOsnapCalculationEnabled() const =0
CFxInputPointManager::SetRibbonContextualState
virtual void SetRibbonContextualState(CFxRibbonContextualState *pContextualState)=0
FxPragmaPush.h
CFxInputPointManager::IsDrawTrackersActive
virtual bool IsDrawTrackersActive() const =0
CFxInputPointManager::GetOrthoPoint
virtual const CFxOrthoPoint * GetOrthoPoint() const =0
CFxInputPointManager::GetBasePoint
virtual const OdGePoint3d * GetBasePoint() const =0
CFxRibbonContextualState::GetData
virtual void * GetData() const =0
CFxInputPointManager::GetHitTestInfo
virtual CFxHitTestInfo * GetHitTestInfo()=0
CFxInputPointManager::OperationAborted
virtual bool OperationAborted() const =0
CFxInputPointManager::SetCurrentOSMODE
virtual void SetCurrentOSMODE(OdInt16 iNewMode)=0
CFxInputPointManager::IsOtrackCalculationEnabled
virtual bool IsOtrackCalculationEnabled() const =0
CFxInputPointManager::SetDraggingPreview
virtual void SetDraggingPreview(CFxDraggingPreview *pDraggingPreview)=0
CFxInputPointManager::GetElevatedUcsPlane
static void GetElevatedUcsPlane(const CFxView *pFxView, OdGePoint3d &ptOrigin, OdGeVector3d &xAxis, OdGeVector3d &yAxis)
CFxInputPointManager::AllowAbortOperation
virtual void AllowAbortOperation(bool bVal)=0
CFxInputPointManager::GetWorkingPlaneSystem
virtual void GetWorkingPlaneSystem(OdGePoint3d &origin, OdGeVector3d &xAxis, OdGeVector3d &yAxis) const
CFxInputPointManager::EnableGripsCalculation
virtual void EnableGripsCalculation(bool bVal)=0
OdGePoint2d
Definition: GePoint2d.h:60