CFx SDK Documentation  2020SP3
DbEntityOverrule.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef _DBENTITYOVRRULE_H_INCLUDED_
25 #define _DBENTITYOVRRULE_H_INCLUDED_
26 
27 #include "RxOverrule.h"
28 #include "DbEntity.h"
29 
39 {
40 public:
42 
47 
61  const OdDbEntity* pSubject,
62  OdDb::OsnapMode osnapMode,
63  OdGsMarker gsSelectionMark,
64  const OdGePoint3d& pickPoint,
65  const OdGePoint3d& lastPoint,
66  const OdGeMatrix3d& xWorldToEye,
67  OdGePoint3dArray& snapPoints );
68 
83  const OdDbEntity* pSubject,
84  OdDb::OsnapMode osnapMode,
85  OdGsMarker gsSelectionMark,
86  const OdGePoint3d& pickPoint,
87  const OdGePoint3d& lastPoint,
88  const OdGeMatrix3d& xWorldToEye,
89  OdGePoint3dArray& snapPoints,
90  const OdGeMatrix3d& insertionMat);
91 
102  virtual bool isContentSnappable(const OdDbEntity* pSubject);
103 };
104 
114 {
115 public:
117 
122 
130  virtual OdResult transformBy(OdDbEntity* pSubject, const OdGeMatrix3d& xform);
131 
140  virtual OdResult getTransformedCopy(const OdDbEntity* pSubject, const OdGeMatrix3d& xform, OdDbEntityPtr& pEnt);
141 
150  virtual OdResult explode(const OdDbEntity* pSubject, OdRxObjectPtrArray& entitySet);
151 
158  virtual bool cloneMeForDragging(OdDbEntity* pSubject);
159 
167  virtual bool hideMeForDragging(const OdDbEntity* pSubject);
168 };
169 
179 {
180 public:
182 
187 
195  virtual OdResult getGripPoints( const OdDbEntity* pSubject, OdGePoint3dArray& gripPoints );
196 
208  virtual OdResult getGripPoints(const OdDbEntity* pSubject,
209  OdDbGripDataPtrArray& gripsData,
210  const double curViewUnitSize,
211  const int gripSize,
212  const OdGeVector3d& curViewDir,
213  const int bitFlags );
214 
225  const OdIntArray& indices,
226  const OdGeVector3d& offset );
227 
238  const OdDbVoidPtrArray& grips,
239  const OdGeVector3d& offset,
240  int bitFlags );
241 
249  virtual OdResult getStretchPoints(const OdDbEntity* pSubject,
250  OdGePoint3dArray& stretchPoints);
251 
260  const OdIntArray & indices,
261  const OdGeVector3d& offset);
262 
269  virtual void gripStatus(OdDbEntity* pSubject, const OdDb::GripStat status);
270 };
271 
281 {
282 public:
284 
289 
298 
306  virtual OdResult addSubentPaths(OdDbEntity* pSubject, const OdDbFullSubentPathArray& paths);
307 
317  const OdDbFullSubentPathArray& paths,
318  const OdGeMatrix3d& xform);
319 
333  const OdDbEntity* pSubject,
334  const OdDbFullSubentPath& path,
335  OdDbGripDataPtrArray& grips,
336  const double curViewUnitSize,
337  const int gripSize,
338  const OdGeVector3d& curViewDir,
339  const OdUInt32 bitflags);
340 
352  OdDbEntity* pSubject,
353  const OdDbFullSubentPathArray& paths,
354  const OdDbVoidPtrArray& gripAppData,
355  const OdGeVector3d& offset,
356  const OdUInt32 bitflags);
357 
371  const OdDbEntity* pSubject,
373  OdGsMarker gsMark,
374  const OdGePoint3d& pickPoint,
375  const OdGeMatrix3d& viewXform,
376  OdDbFullSubentPathArray& subentPaths,
377  const OdDbObjectIdArray* pEntAndInsertStack = 0);
378 
388  const OdDbEntity* pSubject,
389  const OdDbFullSubentPath& subPath,
390  OdGsMarkerArray& gsMarkers);
391 
399  virtual OdDbEntityPtr subentPtr(const OdDbEntity* pSubject, const OdDbFullSubentPath& id);
400 
408  virtual OdResult getCompoundObjectTransform(const OdDbEntity* pSubject, OdGeMatrix3d & xMat);
409 
419  const OdDbFullSubentPath& path,
420  OdGeExtents3d& extents);
421 
430  virtual void subentGripStatus(OdDbEntity* pSubject,
431  OdDb::GripStat status,
432  const OdDbFullSubentPath& subentity);
433 
442  virtual OdResult getSubentClassId(const OdDbEntity* pSubject,
443  const OdDbFullSubentPath& path,
444  void* clsId);
445 };
446 
456 {
457 public:
459 
464 
473  virtual void highlight(const OdDbEntity* pSubject, bool bDoIt = true, const OdDbFullSubentPath* pSubId = 0,
474  bool highlightAll = false);
475 };
476 
486 {
487 public:
489 
494 
501  virtual OdDb::Visibility visibility(const OdDbEntity* pSubject);
502 
511  virtual OdResult setVisibility(OdDbEntity* pSubject, OdDb::Visibility visibility, bool doSubents = true);
512 };
513 
523 {
524 public:
526 
531 
543  virtual OdResult intersectWith(const OdDbEntity* pThisEnt,
544  const OdDbEntity* pEnt, OdDb::Intersect intType,
545  OdGePoint3dArray& points, OdGsMarker thisGsMarker = 0,
546  OdGsMarker otherGsMarker = 0);
559  virtual OdResult intersectWith(const OdDbEntity* pThisEnt,
560  const OdDbEntity* pEnt, OdDb::Intersect intType,
561  const OdGePlane& projPlane, OdGePoint3dArray& points,
562  OdGsMarker thisGsMarker = 0, OdGsMarker otherGsMarker = 0);
563 
571  virtual OdResult getGeomExtents(const OdDbEntity* pSubject, OdGeExtents3d& extents);
572 };
573 
574 #endif //_DBENTITYOVRRULE_H_INCLUDED_
OdDbHighlightOverrule::highlight
virtual void highlight(const OdDbEntity *pSubject, bool bDoIt=true, const OdDbFullSubentPath *pSubId=0, bool highlightAll=false)
OdResult
OdResult
Definition: OdResult.h:29
OdGePlane
Definition: GePlane.h:45
OdGeVector3d
Definition: GeVector3d.h:54
OdDbOsnapOverrule
Definition: DbEntityOverrule.h:39
OdDbVisibilityOverrule::setVisibility
virtual OdResult setVisibility(OdDbEntity *pSubject, OdDb::Visibility visibility, bool doSubents=true)
OdDbTransformOverrule::transformBy
virtual OdResult transformBy(OdDbEntity *pSubject, const OdGeMatrix3d &xform)
OdDbGripOverrule::getStretchPoints
virtual OdResult getStretchPoints(const OdDbEntity *pSubject, OdGePoint3dArray &stretchPoints)
OdDbHighlightOverrule
Definition: DbEntityOverrule.h:456
OdDbHighlightOverrule::OdDbHighlightOverrule
OdDbHighlightOverrule()
OdDbGeometryOverrule::getGeomExtents
virtual OdResult getGeomExtents(const OdDbEntity *pSubject, OdGeExtents3d &extents)
OdDbGripOverrule::moveStretchPointsAt
virtual OdResult moveStretchPointsAt(OdDbEntity *pSubject, const OdIntArray &indices, const OdGeVector3d &offset)
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
OdDbTransformOverrule::getTransformedCopy
virtual OdResult getTransformedCopy(const OdDbEntity *pSubject, const OdGeMatrix3d &xform, OdDbEntityPtr &pEnt)
OdDbHighlightOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbHighlightOverrule)
OdDbTransformOverrule
Definition: DbEntityOverrule.h:114
OdDbFullSubentPath
Definition: DbSubentId.h:49
OdDbOsnapOverrule::isContentSnappable
virtual bool isContentSnappable(const OdDbEntity *pSubject)
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > >
OdDbGripOverrule::moveGripPointsAt
virtual OdResult moveGripPointsAt(OdDbEntity *pSubject, const OdIntArray &indices, const OdGeVector3d &offset)
OdGsMarker
ptrdiff_t OdGsMarker
Definition: OdPlatformSettings.h:889
OdDbVisibilityOverrule
Definition: DbEntityOverrule.h:486
OdDbGripOverrule::OdDbGripOverrule
OdDbGripOverrule()
OdDbSubentityOverrule::getGripPointsAtSubentPath
virtual OdResult getGripPointsAtSubentPath(const OdDbEntity *pSubject, const OdDbFullSubentPath &path, OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const OdUInt32 bitflags)
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdDbSubentityOverrule::getSubentClassId
virtual OdResult getSubentClassId(const OdDbEntity *pSubject, const OdDbFullSubentPath &path, void *clsId)
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdDbGeometryOverrule::intersectWith
virtual OdResult intersectWith(const OdDbEntity *pThisEnt, const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0)
OdDbOsnapOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbOsnapOverrule)
OdDbSubentityOverrule::getSubentPathsAtGsMarker
virtual OdResult getSubentPathsAtGsMarker(const OdDbEntity *pSubject, OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &viewXform, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0)
OdDbVisibilityOverrule::visibility
virtual OdDb::Visibility visibility(const OdDbEntity *pSubject)
OdDb::Intersect
Intersect
Definition: OdaDefs.h:470
OdSmartPtr< OdDbEntity >
OdDbGripOverrule::getGripPoints
virtual OdResult getGripPoints(const OdDbEntity *pSubject, OdGePoint3dArray &gripPoints)
OdGePoint3d
Definition: GePoint3d.h:55
OdDbGripOverrule::moveGripPointsAt
virtual OdResult moveGripPointsAt(OdDbEntity *pSubject, const OdDbVoidPtrArray &grips, const OdGeVector3d &offset, int bitFlags)
OdDbSubentityOverrule::deleteSubentPaths
virtual OdResult deleteSubentPaths(OdDbEntity *pSubject, const OdDbFullSubentPathArray &paths)
OdDbTransformOverrule::OdDbTransformOverrule
OdDbTransformOverrule()
DbEntity.h
OdDbSubentityOverrule::getGsMarkersAtSubentPath
virtual OdResult getGsMarkersAtSubentPath(const OdDbEntity *pSubject, const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers)
OdDb::SubentType
SubentType
Definition: DbBaseSubentId.h:38
offset
GLintptr offset
Definition: gles2_ext.h:183
OdDbSubentityOverrule
Definition: DbEntityOverrule.h:281
OdDb::GripStat
GripStat
Definition: DbGrip.h:80
OdDb::OsnapMode
OsnapMode
Definition: OdaDefs.h:478
OdDbTransformOverrule::explode
virtual OdResult explode(const OdDbEntity *pSubject, OdRxObjectPtrArray &entitySet)
OdDbVisibilityOverrule::OdDbVisibilityOverrule
OdDbVisibilityOverrule()
OdDbSubentityOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbSubentityOverrule)
OdDb::Visibility
Visibility
Definition: DbObject.h:144
OdDbSubentityOverrule::getCompoundObjectTransform
virtual OdResult getCompoundObjectTransform(const OdDbEntity *pSubject, OdGeMatrix3d &xMat)
OdRxOverrule
Definition: RxOverrule.h:42
OdDbGripOverrule
Definition: DbEntityOverrule.h:179
OdDbSubentityOverrule::OdDbSubentityOverrule
OdDbSubentityOverrule()
OdDbGeometryOverrule
Definition: DbEntityOverrule.h:523
OdDbOsnapOverrule::getOsnapPoints
virtual OdResult getOsnapPoints(const OdDbEntity *pSubject, OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints)
OdDbGeometryOverrule::OdDbGeometryOverrule
OdDbGeometryOverrule()
OdDbTransformOverrule::cloneMeForDragging
virtual bool cloneMeForDragging(OdDbEntity *pSubject)
OdDbEntity
Definition: DbEntity.h:90
OdDbOsnapOverrule::getOsnapPoints
virtual OdResult getOsnapPoints(const OdDbEntity *pSubject, OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints, const OdGeMatrix3d &insertionMat)
OdDbSubentityOverrule::addSubentPaths
virtual OdResult addSubentPaths(OdDbEntity *pSubject, const OdDbFullSubentPathArray &paths)
OdDbOsnapOverrule::OdDbOsnapOverrule
OdDbOsnapOverrule()
OdDbSubentityOverrule::subentPtr
virtual OdDbEntityPtr subentPtr(const OdDbEntity *pSubject, const OdDbFullSubentPath &id)
OdDbGripOverrule::gripStatus
virtual void gripStatus(OdDbEntity *pSubject, const OdDb::GripStat status)
OdGeExtents3d
Definition: GeExtents3d.h:45
OdDbSubentityOverrule::getSubentPathGeomExtents
virtual OdResult getSubentPathGeomExtents(const OdDbEntity *pSubject, const OdDbFullSubentPath &path, OdGeExtents3d &extents)
OdDbSubentityOverrule::transformSubentPathsBy
virtual OdResult transformSubentPathsBy(OdDbEntity *pSubject, const OdDbFullSubentPathArray &paths, const OdGeMatrix3d &xform)
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdDbGripOverrule::getGripPoints
virtual OdResult getGripPoints(const OdDbEntity *pSubject, OdDbGripDataPtrArray &gripsData, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const int bitFlags)
OdDbTransformOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbTransformOverrule)
OdDbGripOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbGripOverrule)
RxOverrule.h
OdDbTransformOverrule::hideMeForDragging
virtual bool hideMeForDragging(const OdDbEntity *pSubject)
OdDbSubentityOverrule::moveGripPointsAtSubentPaths
virtual OdResult moveGripPointsAtSubentPaths(OdDbEntity *pSubject, const OdDbFullSubentPathArray &paths, const OdDbVoidPtrArray &gripAppData, const OdGeVector3d &offset, const OdUInt32 bitflags)
OdDbGeometryOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbGeometryOverrule)
OdDbGeometryOverrule::intersectWith
virtual OdResult intersectWith(const OdDbEntity *pThisEnt, const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0)
OdDbSubentityOverrule::subentGripStatus
virtual void subentGripStatus(OdDbEntity *pSubject, OdDb::GripStat status, const OdDbFullSubentPath &subentity)
OdDbVisibilityOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbVisibilityOverrule)