CFx SDK Documentation
2020SP3
SDK
CFx
dd_inc
RxOverrule.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 _RXOVERRULE_H
25
#define _RXOVERRULE_H
26
27
#include "
RxObject.h
"
28
29
#include "
TD_PackPush.h
"
30
class
OdRxOverruleIterator;
31
41
class
FIRSTDLL_EXPORT
OdRxOverrule
:
public
OdRxObject
42
{
43
public
:
44
ODRX_DECLARE_MEMBERS
(
OdRxOverrule
);
45
49
virtual
~OdRxOverrule
();
50
57
virtual
bool
isApplicable
(
const
OdRxObject
* pOverruledSubject)
const
= 0;
58
67
static
OdResult
addOverrule
(
OdRxClass
* pClass,
OdRxOverrule
* pOverrule,
bool
bAddAtLast =
false
);
68
76
static
OdResult
removeOverrule
(
OdRxClass
* pClass,
OdRxOverrule
* pOverrule);
77
83
static
void
setIsOverruling
(
bool
bIsOverruling);
84
88
static
bool
isOverruling
()
89
{
90
return
s_bIsOverruling;
91
}
92
100
static
bool
hasOverrule
(
const
OdRxObject
* pSubject,
OdRxClass
* pOverruleClass);
101
private
:
103
OdRxOverruleIterator* m_pIter;
105
FIRSTDLL_EXPORT_STATIC
static
bool
s_bIsOverruling;
107
friend
class
OdRxOverruleInternals;
108
};
109
110
#include "
TD_PackPop.h
"
111
#endif // _RXOVERRULE_H
FIRSTDLL_EXPORT
#define FIRSTDLL_EXPORT
Definition:
RootExport.h:39
OdResult
OdResult
Definition:
OdResult.h:29
OdRxOverrule::setIsOverruling
static void setIsOverruling(bool bIsOverruling)
OdRxOverrule::isApplicable
virtual bool isApplicable(const OdRxObject *pOverruledSubject) const =0
OdRxObject
Definition:
RxObject.h:564
OdRxOverrule::removeOverrule
static OdResult removeOverrule(OdRxClass *pClass, OdRxOverrule *pOverrule)
TD_PackPop.h
RxObject.h
OdRxClass
Definition:
RxObject.h:865
FIRSTDLL_EXPORT_STATIC
#define FIRSTDLL_EXPORT_STATIC
Definition:
RootExport.h:40
OdRxOverrule
Definition:
RxOverrule.h:42
TD_PackPush.h
OdRxOverrule::~OdRxOverrule
virtual ~OdRxOverrule()
OdRxOverrule::isOverruling
static bool isOverruling()
Definition:
RxOverrule.h:88
OdRxOverrule::hasOverrule
static bool hasOverrule(const OdRxObject *pSubject, OdRxClass *pOverruleClass)
OdRxOverrule::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdRxOverrule)
OdRxOverrule::addOverrule
static OdResult addOverrule(OdRxClass *pClass, OdRxOverrule *pOverrule, bool bAddAtLast=false)
Generated on Mon Oct 12 2020 11:49:43