Skip to content

Commit 258af4a

Browse files
committed
Squashed merge of PR #5441
commit a929769 Merge: e61cdb4 25a096d Author: Paul Baksic <30337881+bakpaul@users.noreply.github.com> Date: Wed Apr 8 14:48:29 2026 +0200 Merge branch 'master' into 2025_sprintsed_BaseVisualStyle commit e61cdb4 Merge: 16ac85d fb6ac6c Author: Paul Baksic <30337881+bakpaul@users.noreply.github.com> Date: Tue Jan 6 11:40:42 2026 +0100 Merge branch 'master' into 2025_sprintsed_BaseVisualStyle commit 16ac85d Author: lbinria <77280433+lbinria@users.noreply.github.com> Date: Mon May 12 15:19:25 2025 +0200 [Framework] Apply template method design pattern to BaseVisualStyle
1 parent c1b6cba commit 258af4a

3 files changed

Lines changed: 33 additions & 6 deletions

File tree

Sofa/Component/Visual/src/sofa/component/visual/VisualStyle.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,14 @@ void VisualStyle::bwdInit()
7070
applyBackupFlags(sofa::core::visual::VisualParams::defaultInstance());
7171
}
7272

73-
void VisualStyle::updateVisualFlags(VisualParams* vparams)
73+
74+
void VisualStyle::doUpdateVisualFlags(VisualParams* vparams)
7475
{
7576
backupFlags = vparams->displayFlags();
7677
vparams->displayFlags() = sofa::core::visual::merge_displayFlags(backupFlags, d_displayFlags.getValue());
7778
}
7879

79-
void VisualStyle::applyBackupFlags(VisualParams* vparams)
80+
void VisualStyle::doApplyBackupFlags(VisualParams* vparams)
8081
{
8182
vparams->displayFlags() = backupFlags;
8283
}

Sofa/Component/Visual/src/sofa/component/visual/VisualStyle.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ class SOFA_COMPONENT_VISUAL_API VisualStyle : public sofa::core::visual::BaseVis
6666
protected:
6767
VisualStyle();
6868
public:
69+
void doUpdateVisualFlags(VisualParams* ) override;
70+
void doApplyBackupFlags(VisualParams* ) override;
6971
void init() override;
7072
void bwdInit() override;
71-
void updateVisualFlags(VisualParams* ) override;
72-
void applyBackupFlags(VisualParams* ) override;
7373

7474
bool insertInNode(sofa::core::objectmodel::BaseNode* node) override;
7575
bool removeInNode(sofa::core::objectmodel::BaseNode* node) override;

Sofa/framework/Core/src/sofa/core/visual/BaseVisualStyle.h

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,35 @@ class SOFA_CORE_API BaseVisualStyle : public sofa::core::objectmodel::BaseCompon
4141
BaseVisualStyle() { }
4242
~BaseVisualStyle() override { }
4343

44+
virtual void doUpdateVisualFlags(VisualParams* ) { };
45+
virtual void doApplyBackupFlags(VisualParams* ) { };
46+
4447
public:
45-
virtual void updateVisualFlags(VisualParams* ) { };
46-
virtual void applyBackupFlags(VisualParams* ) { };
48+
/**
49+
* !!! WARNING since v25.12 !!!
50+
*
51+
* The template method pattern has been applied to this part of the API.
52+
* This method calls the newly introduced method "doUpdateVisualFlags" internally,
53+
* which is the method to override from now on.
54+
*
55+
**/
56+
virtual void updateVisualFlags(VisualParams* vparams) final {
57+
//TODO (SPRINT SED 2025): Component state mechamism
58+
return this->doUpdateVisualFlags(vparams);
59+
};
60+
61+
/**
62+
* !!! WARNING since v25.12 !!!
63+
*
64+
* The template method pattern has been applied to this part of the API.
65+
* This method calls the newly introduced method "doApplyBackupFlags" internally,
66+
* which is the method to override from now on.
67+
*
68+
**/
69+
virtual void applyBackupFlags(VisualParams* vparams) final {
70+
//TODO (SPRINT SED 2025): Component state mechamism
71+
return this->doApplyBackupFlags(vparams);
72+
};
4773

4874
};
4975

0 commit comments

Comments
 (0)