CFx SDK Documentation  2020SP3
GiSectionGeometry.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 __OD_GI_SECTION_SEOMETRY_MAP_H__
25 #define __OD_GI_SECTION_SEOMETRY_MAP_H__
26 
27 #include "Gi/GiExport.h"
28 #include "Ge/GeMatrix3d.h"
29 #include "Gi/GiPathNode.h"
30 #include "Gi/GiDrawable.h"
31 #include "RxObject.h"
32 
34 
43 {
44  public:
46  m_foregroundFaceTransparency(50),
47  m_foregroundEdgeTransparency(50){}
48 
49  const OdGiDrawablePtrArray& intBoundaryEnts() const { return m_intBoundaryEnts; }
50  const OdGiDrawablePtrArray& intFillEnts() const { return m_intFillEnts; }
51  const OdGiDrawablePtrArray& backgroundEnts() const { return m_backgroundEnts; }
52  const OdGiDrawablePtrArray& foregroundEnts() const { return m_foregroundEnts; }
53 
54  int foregroundFaceTransparency() const { return m_foregroundFaceTransparency; }
55  int foregroundEdgeTransparency() const { return m_foregroundEdgeTransparency; }
56 
57  OdGiDrawablePtrArray& intBoundaryEnts() { return m_intBoundaryEnts; }
58  OdGiDrawablePtrArray& intFillEnts() { return m_intFillEnts; }
59  OdGiDrawablePtrArray& backgroundEnts() { return m_backgroundEnts; }
60  OdGiDrawablePtrArray& foregroundEnts() { return m_foregroundEnts; }
61 
62  void setForegroundTransparency(int faceTransp, int edgeTransp)
63  {
64  m_foregroundFaceTransparency = faceTransp;
65  m_foregroundEdgeTransparency = edgeTransp;
66  }
67 
68  protected:
75 };
76 
85 {
86  public:
89  virtual OdGiSectionGeometry* getAt(OdGiDrawable& section, const OdGiPathNode* path,
90  const OdGiDrawable& drawable, const OdGeMatrix3d& tf) = 0;
91  virtual void clear() = 0;
92 };
93 
102 
111 {
112  public:
114  virtual OdDbStub* getLiveSection(const OdDbStub* layoutId, OdDbStub*& sectionSettingsId) const = 0;
115  virtual OdGiDrawablePtr createLiveSection(OdDbBaseDatabase *pDb, OdDbStub *visualStyleId,
116  const OdGePoint3dArray &points, const OdGeVector3d &verticalDir,
117  const double *dTop = NULL, const double *dBottom = NULL) const = 0;
118  virtual bool isLiveSection(const OdGiDrawable* pDrawable) const = 0;
119  virtual bool generateSectionGeometry(OdGiDrawable& section,
120  const OdGiDrawable& drawable,
121  const OdGeMatrix3d& xform,
122  OdGiSectionGeometry& geom,
123  bool* bHasForeground) const = 0;
125  virtual int classifyExtentsRelativelySection(const OdGiDrawable* pDrawable, const OdGeExtents3d& ext) const = 0;
126 };
127 
132 
133 #endif // __OD_GI_SECTION_SEOMETRY_MAP_H__
OdGiSectionGeometryManager::createSectionGeometryMap
virtual OdGiSectionGeometryMapPtr createSectionGeometryMap()=0
OdGiSectionGeometryManager
Definition: GiSectionGeometry.h:111
OdGeVector3d
Definition: GeVector3d.h:54
NULL
#define NULL
Definition: GsProperties.h:177
OdGiSectionGeometryManager::createLiveSection
virtual OdGiDrawablePtr createLiveSection(OdDbBaseDatabase *pDb, OdDbStub *visualStyleId, const OdGePoint3dArray &points, const OdGeVector3d &verticalDir, const double *dTop=NULL, const double *dBottom=NULL) const =0
OdGiSectionGeometryManager::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiSectionGeometryManager)
OdGiSectionGeometry::m_backgroundEnts
OdGiDrawablePtrArray m_backgroundEnts
Definition: GiSectionGeometry.h:71
OdGiSectionGeometry::m_intFillEnts
OdGiDrawablePtrArray m_intFillEnts
Definition: GiSectionGeometry.h:70
OdRxObject
Definition: RxObject.h:564
OdGiSectionGeometry::setForegroundTransparency
void setForegroundTransparency(int faceTransp, int edgeTransp)
Definition: GiSectionGeometry.h:62
OdArray< OdGiDrawablePtr >
OdGiDrawablePtrArray
OdArray< OdGiDrawablePtr > OdGiDrawablePtrArray
Definition: GiSectionGeometry.h:33
OdGiSectionGeometry::OdGiSectionGeometry
OdGiSectionGeometry()
Definition: GiSectionGeometry.h:45
RxObject.h
OdGiSectionGeometryMap::~OdGiSectionGeometryMap
virtual ~OdGiSectionGeometryMap()
Definition: GiSectionGeometry.h:88
OdGiSectionGeometryManager::generateSectionGeometry
virtual bool generateSectionGeometry(OdGiDrawable &section, const OdGiDrawable &drawable, const OdGeMatrix3d &xform, OdGiSectionGeometry &geom, bool *bHasForeground) const =0
OdGeMatrix3d
Definition: GeMatrix3d.h:73
ODGI_EXPORT
#define ODGI_EXPORT
Definition: GiExport.h:35
OdGiSectionGeometry::m_foregroundEnts
OdGiDrawablePtrArray m_foregroundEnts
Definition: GiSectionGeometry.h:72
OdGiSectionGeometry::intFillEnts
const OdGiDrawablePtrArray & intFillEnts() const
Definition: GiSectionGeometry.h:50
OdGiSectionGeometryMap::clear
virtual void clear()=0
OdSmartPtr
Definition: SmartPtr.h:58
OdGiPathNode
Definition: GiPathNode.h:36
OdGiSectionGeometry::foregroundEnts
const OdGiDrawablePtrArray & foregroundEnts() const
Definition: GiSectionGeometry.h:52
OdGiSectionGeometryManager::classifyExtentsRelativelySection
virtual int classifyExtentsRelativelySection(const OdGiDrawable *pDrawable, const OdGeExtents3d &ext) const =0
OdGiDrawable
Definition: GiDrawable.h:49
OdGiSectionGeometryManager::getLiveSection
virtual OdDbStub * getLiveSection(const OdDbStub *layoutId, OdDbStub *&sectionSettingsId) const =0
OdGiSectionGeometry::backgroundEnts
OdGiDrawablePtrArray & backgroundEnts()
Definition: GiSectionGeometry.h:59
OdGiSectionGeometry::m_intBoundaryEnts
OdGiDrawablePtrArray m_intBoundaryEnts
Definition: GiSectionGeometry.h:69
OdGiSectionGeometry::foregroundEdgeTransparency
int foregroundEdgeTransparency() const
Definition: GiSectionGeometry.h:55
OdGiSectionGeometry::intBoundaryEnts
OdGiDrawablePtrArray & intBoundaryEnts()
Definition: GiSectionGeometry.h:57
OdGiSectionGeometryMap
Definition: GiSectionGeometry.h:85
OdGiSectionGeometryMap::getAt
virtual OdGiSectionGeometry * getAt(OdGiDrawable &section, const OdGiPathNode *path, const OdGiDrawable &drawable, const OdGeMatrix3d &tf)=0
OdGiSectionGeometry::intBoundaryEnts
const OdGiDrawablePtrArray & intBoundaryEnts() const
Definition: GiSectionGeometry.h:49
OdGiSectionGeometryMap::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiSectionGeometryMap)
OdGiSectionGeometryManagerPtr
OdSmartPtr< OdGiSectionGeometryManager > OdGiSectionGeometryManagerPtr
Definition: GiSectionGeometry.h:131
GiExport.h
OdGiSectionGeometry::intFillEnts
OdGiDrawablePtrArray & intFillEnts()
Definition: GiSectionGeometry.h:58
OdGiSectionGeometry::foregroundEnts
OdGiDrawablePtrArray & foregroundEnts()
Definition: GiSectionGeometry.h:60
OdGeExtents3d
Definition: GeExtents3d.h:45
GiDrawable.h
OdGiSectionGeometry
Definition: GiSectionGeometry.h:43
OdGiSectionGeometry::foregroundFaceTransparency
int foregroundFaceTransparency() const
Definition: GiSectionGeometry.h:54
OdGiSectionGeometryManager::isLiveSection
virtual bool isLiveSection(const OdGiDrawable *pDrawable) const =0
OdGiSectionGeometry::m_foregroundEdgeTransparency
int m_foregroundEdgeTransparency
Definition: GiSectionGeometry.h:74
GeMatrix3d.h
OdGiSectionGeometryMapPtr
OdSmartPtr< OdGiSectionGeometryMap > OdGiSectionGeometryMapPtr
Definition: GiSectionGeometry.h:101
GiPathNode.h
OdGiSectionGeometry::m_foregroundFaceTransparency
int m_foregroundFaceTransparency
Definition: GiSectionGeometry.h:73
OdGiSectionGeometry::backgroundEnts
const OdGiDrawablePtrArray & backgroundEnts() const
Definition: GiSectionGeometry.h:51