Skip to content

Commit ed96e6d

Browse files
committed
Fixed issue with populating property list for CSurfaceMesherProps.
1 parent 4fc09ef commit ed96e6d

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

FEBioStudio/MeshPanel.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -112,22 +112,22 @@ class CPrimitiveMesherProps : public CObjectProps
112112
class CSurfaceMesherProps : public CObjectProps
113113
{
114114
public:
115-
CSurfaceMesherProps(GSurfaceMeshObject* po) : CObjectProps(nullptr), m_po(po)
115+
CSurfaceMesherProps(GSurfaceMeshObject* po) : CObjectProps(nullptr), m_pso(po)
116116
{
117-
BuildParameterList();
117+
BuildParamList(m_pso->GetFEMesher());
118118
}
119119

120-
void BuildParameterList()
120+
void BuildParamList(FSBase* po, bool showNonPersistent = false) override
121121
{
122122
Clear();
123123
addProperty("Meshing Method", CProperty::Enum)->setEnumValues(QStringList() << "TetGen" << "NetGen" << "Shell Mesh");
124124
addProperty("Properties", CProperty::Group);
125-
BuildParamList(m_po->GetFEMesher());
125+
CObjectProps::BuildParamList(po);
126126
}
127127

128128
QVariant GetPropertyValue(int i)
129129
{
130-
FEMesher* mesher = m_po->GetFEMesher();
130+
FEMesher* mesher = m_pso->GetFEMesher();
131131

132132
if (i == 0)
133133
{
@@ -141,34 +141,34 @@ class CSurfaceMesherProps : public CObjectProps
141141

142142
void SetPropertyValue(int i, const QVariant& v)
143143
{
144-
FEMesher* mesher = m_po->GetFEMesher();
144+
FEMesher* mesher = m_pso->GetFEMesher();
145145
if (i == 0)
146146
{
147147
int val = v.toInt();
148148
if ((val == 0) && (dynamic_cast<FETetGenMesher*>(mesher) == nullptr))
149149
{
150-
m_po->SetFEMesher(new FETetGenMesher(m_po));
151-
BuildParameterList();
150+
m_pso->SetFEMesher(new FETetGenMesher(m_pso));
151+
BuildParamList(m_pso->GetFEMesher());
152152
SetModified(true);
153153
}
154154
else if ((val == 1) && (dynamic_cast<NetGenSTLMesher*>(mesher) == nullptr))
155155
{
156-
m_po->SetFEMesher(new NetGenSTLMesher(m_po));
157-
BuildParameterList();
156+
m_pso->SetFEMesher(new NetGenSTLMesher(m_pso));
157+
BuildParamList(m_pso->GetFEMesher());
158158
SetModified(true);
159159
}
160160
else if (dynamic_cast<FEShellMesher*>(mesher) == nullptr)
161161
{
162-
m_po->SetFEMesher(new FEShellMesher(m_po));
163-
BuildParameterList();
162+
m_pso->SetFEMesher(new FEShellMesher(m_pso));
163+
BuildParamList(m_pso->GetFEMesher());
164164
SetModified(true);
165165
}
166166
}
167167
else if (i > 1) CObjectProps::SetPropertyValue(i - 2, v);
168168
}
169169

170170
private:
171-
GSurfaceMeshObject* m_po;
171+
GSurfaceMeshObject* m_pso;
172172
};
173173

174174

FEBioStudio/ObjectProps.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class CObjectProps : public CPropertyList
4646
int Params() const { return (int) m_params.size(); }
4747

4848
protected:
49-
void BuildParamList(FSBase* po, bool showNonPersistent = false);
49+
virtual void BuildParamList(FSBase* po, bool showNonPersistent = false);
5050

5151
void AddParameter(Param& p);
5252
void AddParameterList(FSBase* po);

0 commit comments

Comments
 (0)