CFx SDK Documentation
2020SP3
SDK
CFx
dd_inc
Gs
GsUpdateManager.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 __ODGSUPDATEMANAGER_H__
25
#define __ODGSUPDATEMANAGER_H__
26
27
class
OdDbStub;
28
class
OdGsEntityNode
;
29
class
OdRxObject
;
30
class
OdGsViewImpl
;
31
32
#include "
Gs/GsExport.h
"
33
#include "
Ge/GeExtents3d.h
"
34
35
#include "
TD_PackPush.h
"
36
43
class
GS_TOOLKIT_EXPORT
OdGsUpdateManager
:
public
OdRxObject
44
{
45
public
:
46
ODRX_DECLARE_MEMBERS
(
OdGsUpdateManager
);
47
51
enum
FiltrationType
52
{
53
kKeepDrawOrder = 0,
//Keep draw order
54
kFilterByLimit = (1 << 0)
//Filtration by memory limit (CLOUD)
55
};
56
60
enum
Action
61
{
62
kAdd
,
63
kRemove
,
64
kNoChanges
65
};
66
67
class
GS_TOOLKIT_EXPORT
OdGsUpdateManagerElement
68
{
69
protected
:
70
OdUInt8
m_stateFlags
;
71
public
:
72
OdGsUpdateManagerElement
() : m_stateFlags( 0 ){ };
73
OdUInt8
state
()
const
{
return
m_stateFlags; }
74
void
setState
(
OdUInt8
state ) { m_stateFlags = state; }
75
};
76
86
typedef
void
(*UpdateManagerProcessCallback)(
Action
action,
OdUInt32
viewportId, OdDbStub* drawableId,
OdGsEntityNode
* pNode,
OdGsUpdateManagerElement
* pElement );
87
91
struct
UpdateManagerSettings
92
{
93
FiltrationType
type
;
94
OdUInt64
nMemoryLimit
;
95
OdUInt64
nMinMemoryLimit
;
96
OdUInt64
nClientCurrentHeapUsage
;
97
};
98
99
public
:
103
virtual
UpdateManagerSettings
settings
()
const
= 0;
104
108
virtual
void
setSettings
(
const
UpdateManagerSettings
& ) = 0;
109
117
virtual
void
addElement
(
OdUInt32
viewportId,
OdGsEntityNode
* pNode,
OdGsUpdateManagerElement
* pElement ) = 0;
118
130
virtual
void
addElement
(
OdUInt32
viewportId,
OdGsEntityNode
* pNode,
OdGsUpdateManagerElement
* pElement,
OdUInt64
nLength,
OdGsViewImpl
* pView,
const
OdGeExtents3d
& extents,
bool
bSetZeroWeight =
false
) = 0;
131
135
virtual
void
setProcessCallback
( UpdateManagerProcessCallback ) = 0;
136
140
virtual
void
process
() = 0;
141
145
virtual
void
reset
() = 0;
146
153
virtual
void
removeElement
(
OdUInt32
viewportId,
OdGsEntityNode
* pNode,
OdGsUpdateManagerElement
* pElement ) = 0;
154
};
155
156
#include "
TD_PackPop.h
"
157
158
#endif // __ODGSUPDATEMANAGER_H__
OdGsUpdateManager::UpdateManagerSettings::type
FiltrationType type
Definition:
GsUpdateManager.h:93
OdGsUpdateManager::kAdd
@ kAdd
Definition:
GsUpdateManager.h:62
OdGsUpdateManager::Action
Action
Definition:
GsUpdateManager.h:61
OdGsUpdateManager::addElement
virtual void addElement(OdUInt32 viewportId, OdGsEntityNode *pNode, OdGsUpdateManagerElement *pElement, OdUInt64 nLength, OdGsViewImpl *pView, const OdGeExtents3d &extents, bool bSetZeroWeight=false)=0
OdGsUpdateManager::UpdateManagerSettings::nMinMemoryLimit
OdUInt64 nMinMemoryLimit
Definition:
GsUpdateManager.h:95
OdGsUpdateManager::OdGsUpdateManagerElement
Definition:
GsUpdateManager.h:68
OdUInt8
unsigned char OdUInt8
Definition:
OdPlatformSettings.h:759
OdGsUpdateManager::OdGsUpdateManagerElement::state
OdUInt8 state() const
Definition:
GsUpdateManager.h:73
OdGsUpdateManager::kRemove
@ kRemove
Definition:
GsUpdateManager.h:63
OdGsUpdateManager::FiltrationType
FiltrationType
Definition:
GsUpdateManager.h:52
OdRxObject
Definition:
RxObject.h:564
GeExtents3d.h
TD_PackPop.h
OdGsUpdateManager
Definition:
GsUpdateManager.h:44
OdUInt32
unsigned int OdUInt32
Definition:
OdPlatformSettings.h:783
OdGsUpdateManager::UpdateManagerSettings::nClientCurrentHeapUsage
OdUInt64 nClientCurrentHeapUsage
Definition:
GsUpdateManager.h:96
OdGsUpdateManager::OdGsUpdateManagerElement::setState
void setState(OdUInt8 state)
Definition:
GsUpdateManager.h:74
OdGsUpdateManager::reset
virtual void reset()=0
OdGsUpdateManager::setSettings
virtual void setSettings(const UpdateManagerSettings &)=0
OdGsUpdateManager::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGsUpdateManager)
OdGsViewImpl
Definition:
GsViewImpl.h:58
OdGsUpdateManager::UpdateManagerSettings
Definition:
GsUpdateManager.h:92
OdGsUpdateManager::OdGsUpdateManagerElement::m_stateFlags
OdUInt8 m_stateFlags
Definition:
GsUpdateManager.h:70
TD_PackPush.h
GsExport.h
OdGsUpdateManager::UpdateManagerSettings::nMemoryLimit
OdUInt64 nMemoryLimit
Definition:
GsUpdateManager.h:94
OdGsUpdateManager::setProcessCallback
virtual void setProcessCallback(UpdateManagerProcessCallback)=0
OdGeExtents3d
Definition:
GeExtents3d.h:45
GS_TOOLKIT_EXPORT
#define GS_TOOLKIT_EXPORT
Definition:
GsExport.h:37
OdGsUpdateManager::addElement
virtual void addElement(OdUInt32 viewportId, OdGsEntityNode *pNode, OdGsUpdateManagerElement *pElement)=0
OdGsUpdateManager::removeElement
virtual void removeElement(OdUInt32 viewportId, OdGsEntityNode *pNode, OdGsUpdateManagerElement *pElement)=0
OdGsUpdateManager::settings
virtual UpdateManagerSettings settings() const =0
void
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)
OdGsUpdateManager::OdGsUpdateManagerElement::OdGsUpdateManagerElement
OdGsUpdateManagerElement()
Definition:
GsUpdateManager.h:72
OdGsEntityNode
Definition:
GsEntityNode.h:103
OdUInt64
Definition:
Int64.h:137
OdGsUpdateManager::process
virtual void process()=0
Generated on Mon Oct 12 2020 11:49:34