CFx SDK Documentation  2023 SP0
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:
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;
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__
#define ODGI_EXPORT
Definition: GiExport.h:35
OdArray< OdGiDrawablePtr > OdGiDrawablePtrArray
OdSmartPtr< OdGiSectionGeometryManager > OdGiSectionGeometryManagerPtr
OdSmartPtr< OdGiSectionGeometryMap > OdGiSectionGeometryMapPtr
#define NULL
Definition: GsProperties.h:177
const OdGiDrawablePtrArray & intFillEnts() const
OdGiDrawablePtrArray & intFillEnts()
const OdGiDrawablePtrArray & backgroundEnts() const
const OdGiDrawablePtrArray & intBoundaryEnts() const
OdGiDrawablePtrArray m_backgroundEnts
const OdGiDrawablePtrArray & foregroundEnts() const
OdGiDrawablePtrArray & intBoundaryEnts()
int foregroundEdgeTransparency() const
OdGiDrawablePtrArray m_intBoundaryEnts
void setForegroundTransparency(int faceTransp, int edgeTransp)
OdGiDrawablePtrArray & backgroundEnts()
OdGiDrawablePtrArray & foregroundEnts()
OdGiDrawablePtrArray m_foregroundEnts
int foregroundFaceTransparency() const
OdGiDrawablePtrArray m_intFillEnts
virtual bool generateSectionGeometry(OdGiDrawable &section, const OdGiDrawable &drawable, const OdGeMatrix3d &xform, OdGiSectionGeometry &geom, bool *bHasForeground) const =0
virtual int classifyExtentsRelativelySection(const OdGiDrawable *pDrawable, const OdGeExtents3d &ext) const =0
virtual OdGiDrawablePtr createLiveSection(OdDbBaseDatabase *pDb, OdDbStub *visualStyleId, const OdGePoint3dArray &points, const OdGeVector3d &verticalDir, const double *dTop=NULL, const double *dBottom=NULL) const =0
ODRX_DECLARE_MEMBERS(OdGiSectionGeometryManager)
virtual bool isLiveSection(const OdGiDrawable *pDrawable) const =0
virtual OdDbStub * getLiveSection(const OdDbStub *layoutId, OdDbStub *&sectionSettingsId) const =0
virtual OdGiSectionGeometryMapPtr createSectionGeometryMap()=0
virtual OdGiSectionGeometry * getAt(OdGiDrawable &section, const OdGiPathNode *path, const OdGiDrawable &drawable, const OdGeMatrix3d &tf)=0
ODRX_DECLARE_MEMBERS(OdGiSectionGeometryMap)
virtual void clear()=0
AECGEOMETRY_API FacetModeler::Body section(FacetModeler::Body &rBase, const OdGePlane &rCutter)