This repository has been archived by the owner on May 15, 2024. It is now read-only.
generated from SAP/repository-template
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCaUserDefinedElement.h
103 lines (92 loc) · 2.87 KB
/
CaUserDefinedElement.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/* SPDX-FileCopyrightText: 2023 SAP SE
*
* SPDX-License-Identifier: Apache-2.0
*
* This file is part of FEDEM - https://openfedem.org
*/
#pragma once
#include "CaCommonHeaders.h"
#include "CaSignalConnector.h"
class FmUserDefinedElement;
class CaUserDefinedElement : public CCmdTarget
{
public:
CaUserDefinedElement(void);
~CaUserDefinedElement(void);
virtual void OnFinalRelease()
{
CCmdTarget::OnFinalRelease();
}
// Attributes
FmUserDefinedElement* m_ptr;
long m_numElementNodes;
DECLARE_DYNCREATE(CaUserDefinedElement)
DECLARE_MESSAGE_MAP()
DECLARE_OLECREATE(CaUserDefinedElement)
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
enum
{
dispidDescription = 1L,
dispidBaseID = 2L,
dispidParent = 3L,
dispidNumElementNodes = 4L,
dispidGetTriad = 100L,
dispidSetTriad = 101L,
dispidGetStructuralDamping = 102L,
dispidSetStructuralDamping = 103L,
dispidGetScaling = 104L,
dispidSetScaling = 105L,
dispidDelete = 800L
};
// Methods
BSTR get_Description();
void put_Description(LPCTSTR val);
long get_BaseID();
long get_NumElementNodes();
ISubAssembly* get_Parent();
ITriad* GetTriad(int pos);
void SetTriad(int pos, ITriad* Triad);
void GetStructuralDamping(double* MassProp, double* StiffProp);
void SetStructuralDamping(double MassProp, double StiffProp);
void GetScaling(double* StiffScale, double* MassScale);
void SetScaling(double StiffScale, double MassScale);
void Delete();
BEGIN_INTERFACE_PART(LocalClass, IUserDefinedElement)
STDMETHOD(GetTypeInfoCount)(UINT FAR* pctinfo);
STDMETHOD(GetTypeInfo)(
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo);
STDMETHOD(GetIDsOfNames)(
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid);
STDMETHOD(Invoke)(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr);
STDMETHOD(get_Description)(THIS_ BSTR* pVal);
STDMETHOD(put_Description)(THIS_ BSTR val);
STDMETHOD(get_BaseID)(THIS_ long* pVal);
STDMETHOD(get_NumElementNodes)(THIS_ long* pVal);
STDMETHOD(get_Parent)(THIS_ ISubAssembly** ppObj);
STDMETHOD(GetTriad)(THIS_ long pos, ITriad** Triad);
STDMETHOD(SetTriad)(THIS_ long pos, ITriad* Triad);
STDMETHOD(GetStructuralDamping)(THIS_ double* MassProp, double* StiffProp);
STDMETHOD(SetStructuralDamping)(THIS_ double MassProp, double StiffProp);
STDMETHOD(GetScaling)(THIS_ double* StiffScale, double* MassScale);
STDMETHOD(SetScaling)(THIS_ double StiffScale, double MassScale);
STDMETHOD(Delete)(THIS_);
END_INTERFACE_PART(LocalClass)
private:
// Signal Receiver
CaSignalConnector<CaUserDefinedElement,FmUserDefinedElement> signalConnector;
};