CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
FxInputPointManager.h
Go to the documentation of this file.
1//
2// (C) Copyright 2005-2023 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
28class CFxHitTestInfo;
29class CFxView;
30class CFxTracker;
31class CFxOtrackPoint;
32class CFxGripPoint;
33class CFxOrthoPoint;
34class CFxOsnapPoint;
35class CFxSelectionSet;
36class CFxDocument;
37class CFxExpressionParser;
38class IFxConstraintManager;
40class CFxDraggingPreview;
47{
48 friend class CFxExpressionParser;
49public:
51 {
52 eByAPERTURE = 1,
53 eByPICKBOX = 2,
54 eByFramePreview = 3,
55 eByMaxRequiredSize = 4
56 };
57
59
61public:
62 ~CFxInputPointManager(void) override;
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{
296public:
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 void EnableOtrackPolarCalculation(bool bVal)=0
virtual OdInt16 GetCurrentOSMODE() const =0
virtual bool IsUpdateTrackersActive() const =0
virtual const CFxOsnapPoint * GetLastOsnapPoint() const =0
virtual bool IsSnapCalculationEnabled() const =0
virtual const CFxOsnapPoint * GetOsnapPoint(bool bCalculate) const =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 CFxDraggingPreview * GetDraggingPreview() const =0
virtual CFxSelectionSet * GetSelectionSetCopy(EntitiesMode mode) const =0
virtual const CFxOrthoPoint * GetOrthoPoint() const =0
virtual CFxRibbonContextualState * GetRibbonContextualState() const =0
virtual bool IsOtrackPolarCalculationEnabled() const =0
virtual const OdGePoint3d & GetCursorPoint() const =0
virtual const CFxDocument * GetFxDocument() const =0
virtual CFxHitTestInfo * GetHitTestInfo()=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 void AddGrVecsVector(const CFxView *pView, int color, const OdGePoint3d &start, const OdGePoint3d &end, int flag)=0
virtual const OdGePlane & GetWorkingPlane() const =0
virtual void SkipCurrentInputPoint(bool skip=true)=0
virtual CFxExpressionParser * GetParameterParser() const =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 const CFxSelectionSet * GetSelectionSet(EntitiesMode mode=eByAPERTURE) const =0
virtual const OdGePoint3d & GetPrimaryPoint() const =0
virtual const OdGePoint3d * GetBasePoint() const =0
virtual OdGeMatrix3d WorldToWorkingPlaneMatrix() const
virtual const CFxGripPoint * GetGripPoint() const =0
virtual const OdGePoint3d & GetCursorClickPoint() const =0
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 void SetGripPoint(const CFxGripPoint *pGrip)=0
ODRX_DECLARE_MEMBERS(CFxInputPointManager)
virtual const CFxOtrackPoint * GetOtrackPoint() const =0
virtual void AddTracker(CFxTracker *pTracker, bool bPermanent)=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 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 IFxConstraintManager * GetConstraintManager() const =0
virtual const OdGePoint3d & GetRubberLinePoint() const =0
virtual bool UpdateTrackers(const CFxEvent *event)=0
virtual const OdGePoint3d & GetRubberLineClickPoint() const =0
virtual void SetBasePoint(const OdGePoint3d *pBasePoint)=0
virtual void EnableSnapCalculation(bool bVal)=0
virtual void SetRibbonContextualState(CFxRibbonContextualState *pContextualState)=0
virtual const OdGePoint3d & GetPrimaryClickPoint() const =0
virtual void * GetData() const =0
virtual int GetType() const =0