CFx SDK Documentation  2023 SP0
AECInstanceBasedValue.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 __AECINSTANCEBASEDVALUE_H__
25 #define __AECINSTANCEBASEDVALUE_H__
26 
27 #include "Subobjects/AECImpObj.h"
28 
34 class AECARCHBASE_API AECInstanceBasedValue : public AECImpObj
35 {
37 
38  public:
42  enum Operator
43  {
44  eAddition = 0,
45  eSubstraction = 1,
46  eDivision = 2,
47  eMultiplication = 3
48  };
49 
50  public:
54  double GetBaseValue() const;
55 
59  void SetBaseValue( double dBaseValue );
60 
64  double GetOperand() const;
65 
69  void SetOperand( double dOperand );
70 
75 
79  void SetOperator( Operator eOperator );
80 
84  bool UseBaseValue() const;
85 
89  void SetUseBaseValue( bool bUseBaseValue );
90 
95  double GetValue( double dBase ) const;
96 
97  protected:
98  // Base value for given calculations.
99  double m_dBaseValue;
100 
101  // The second operand for given calculation.
102  double m_dOperand;
103 
104  // The operation to perform.
106 
107  // "true" indicates validity of m_iOperator and m_dOperand.
109 };
110 
113 
114 #endif //__AECINSTANCEBASEDVALUE_H__
AECSubPtr< AECInstanceBasedValue > AECInstanceBasedValueSubPtr
OdSmartPtr< AECInstanceBasedValue > AECInstanceBasedValuePtr
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
void SetUseBaseValue(bool bUseBaseValue)
bool UseBaseValue() const
double GetBaseValue() const
double GetValue(double dBase) const
void SetOperand(double dOperand)
void SetOperator(Operator eOperator)
double GetOperand() const
Operator GetOperator() const
void SetBaseValue(double dBaseValue)