Skip to content

Conversation

@alxbilger
Copy link
Contributor

@alxbilger alxbilger commented Nov 26, 2025

A not-working PR to start the discussion on renaming BaseObject to BaseComponent. It makes more sense for me as we name the classes in the factory 'Component'.


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@alxbilger alxbilger added pr: status to review To notify reviewers to review this pull-request topic for next dev-meeting PR to be discussed in sofa-dev meeting labels Nov 26, 2025
@alxbilger alxbilger changed the title [Core] Starte renaming BaseObject to BaseComponent [Core] Start renaming BaseObject to BaseComponent Nov 27, 2025
@damienmarchal
Copy link
Contributor

PR accepted

@bakpaul
Copy link
Contributor

bakpaul commented Dec 4, 2025

The CI says otherwise...

@hugtalbot hugtalbot added the refactoring Refactor code label Dec 4, 2025
@alxbilger
Copy link
Contributor Author

Agreed during the dev meeting

@hugtalbot hugtalbot added this to the v26.06 milestone Dec 4, 2025
@fredroy fredroy added the pr: experimental Demonstrate an experimental feature label Dec 4, 2025
@alxbilger
Copy link
Contributor Author

alxbilger commented Dec 4, 2025

A lot of BaseObject usages relied on a using declaration (using sofa::core::objectmodel::BaseObject). It means one of this using declaration in a header contaminated a large part of the code base. I took the opportunity to remove all the using declaration of BaseObject. This makes this PR breaking, more than the renaming.

For example, the following code used to compile:

template<class T>
class DummyComponent : public BaseObject
{
public:
    SOFA_CLASS(DummyComponent<T>, BaseObject);
};

but the following is working with the compatibility:

template<class T>
class DummyComponent : public core::objectmodel::BaseObject
{
public:
    SOFA_CLASS(DummyComponent<T>, core::objectmodel::BaseObject);
};

@hugtalbot hugtalbot removed the topic for next dev-meeting PR to be discussed in sofa-dev meeting label Dec 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: experimental Demonstrate an experimental feature pr: status to review To notify reviewers to review this pull-request refactoring Refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants