CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GiSectionGeometry.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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"
31#include "RxObject.h"
32
41{
42 public:
47 m_foregroundFaceTransparency(50),
48 m_foregroundEdgeTransparency(50){}
49
55 const OdGiDrawablePtrArray& intBoundaryEnts() const { return m_intBoundaryEnts; }
56
62 const OdGiDrawablePtrArray& intFillEnts() const { return m_intFillEnts; }
63
69 const OdGiDrawablePtrArray& backgroundEnts() const { return m_backgroundEnts; }
70
76 const OdGiDrawablePtrArray& foregroundEnts() const { return m_foregroundEnts; }
77
83 int foregroundFaceTransparency() const { return m_foregroundFaceTransparency; }
84
90 int foregroundEdgeTransparency() const { return m_foregroundEdgeTransparency; }
91
97 OdGiDrawablePtrArray& intBoundaryEnts() { return m_intBoundaryEnts; }
98
104 OdGiDrawablePtrArray& intFillEnts() { return m_intFillEnts; }
105
111 OdGiDrawablePtrArray& backgroundEnts() { return m_backgroundEnts; }
112
118 OdGiDrawablePtrArray& foregroundEnts() { return m_foregroundEnts; }
119
125 void setForegroundTransparency(int faceTransp, int edgeTransp)
126 {
127 m_foregroundFaceTransparency = faceTransp;
128 m_foregroundEdgeTransparency = edgeTransp;
129 }
130
131 protected:
138};
139
148{
149 public:
155 virtual OdGiSectionGeometry* getAt(OdGiDrawable& section, const OdGiPathNode* path,
156 const OdGiDrawable& drawable, const OdGeMatrix3d& tf) = 0;
157 virtual void clear() = 0;
158};
159
168
177{
178 public:
180 {
181 kForceLiveSectionSettings = 1,
182 kIntersectionAsRegion = 2,
183 kKeepResultsTransformed = 4
184 };
186 virtual OdDbStub* getLiveSection(const OdDbStub* layoutId, OdDbStub*& sectionSettingsId) const = 0;
187 virtual OdGiDrawablePtr createLiveSection(OdDbBaseDatabase *pDb, OdDbStub *visualStyleId,
188 const OdGePoint3dArray &points, const OdGeVector3d &verticalDir,
189 const double *dTop = NULL, const double *dBottom = NULL) const = 0;
190 virtual bool isLiveSection(const OdGiDrawable* pDrawable) const = 0;
192 const OdGiDrawable& drawable,
193 const OdGeMatrix3d& xform,
195 bool* bHasForeground) const = 0;
197 virtual int classifyExtentsRelativelySection(const OdGiDrawable* pDrawable, const OdGeExtents3d& ext) const = 0;
198};
199
204
205#endif // __OD_GI_SECTION_SEOMETRY_MAP_H__
#define ODGI_EXPORT
Definition: GiExport.h:35
OdSmartPtr< OdGiSectionGeometryManager > OdGiSectionGeometryManagerPtr
OdSmartPtr< OdGiSectionGeometryMap > OdGiSectionGeometryMapPtr
const OdGiDrawablePtrArray & foregroundEnts() const
const OdGiDrawablePtrArray & intBoundaryEnts() const
OdGiDrawablePtrArray & intBoundaryEnts()
OdGiDrawablePtrArray & foregroundEnts()
const OdGiDrawablePtrArray & backgroundEnts() const
OdGiDrawablePtrArray & intFillEnts()
OdGiDrawablePtrArray m_backgroundEnts
int foregroundEdgeTransparency() const
OdGiDrawablePtrArray & backgroundEnts()
const OdGiDrawablePtrArray & intFillEnts() const
OdGiDrawablePtrArray m_intBoundaryEnts
void setForegroundTransparency(int faceTransp, int edgeTransp)
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 OdDbStub * getLiveSection(const OdDbStub *layoutId, OdDbStub *&sectionSettingsId) const =0
virtual bool isLiveSection(const OdGiDrawable *pDrawable) 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