Skip to content

Commit

Permalink
[Core] Add 2 new categories (Exporter and OrderingMethod) (#5284)
Browse files Browse the repository at this point in the history
* reformat

* sort categories

* introduce category OrderingMethod

* Introduce Exporter category
  • Loading branch information
alxbilger authored Feb 28, 2025
1 parent 4016294 commit cf1a719
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 29 deletions.
80 changes: 53 additions & 27 deletions Sofa/framework/Core/src/sofa/core/CategoryLibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,35 @@
* Contact information: [email protected] *
******************************************************************************/

#include <sofa/core/CategoryLibrary.h>

#include <sofa/core/objectmodel/ContextObject.h>
#include <sofa/core/objectmodel/ConfigurationSetting.h>
#include <sofa/core/visual/VisualModel.h>
#include <sofa/core/BaseMapping.h>
#include <sofa/core/BehaviorModel.h>
#include <sofa/core/CategoryLibrary.h>
#include <sofa/core/CollisionModel.h>
#include <sofa/core/BaseMapping.h>
#include <sofa/core/DataEngine.h>
#include <sofa/core/collision/CollisionAlgorithm.h>
#include <sofa/core/collision/Pipeline.h>
#include <sofa/core/collision/Intersection.h>
#include <sofa/core/behavior/BaseMechanicalState.h>
#include <sofa/core/behavior/BaseForceField.h>
#include <sofa/core/behavior/BaseInteractionForceField.h>
#include <sofa/core/behavior/BaseProjectiveConstraintSet.h>
#include <sofa/core/behavior/BaseConstraintSet.h>
#include <sofa/core/behavior/BaseAnimationLoop.h>
#include <sofa/core/behavior/BaseConstraintCorrection.h>
#include <sofa/core/behavior/BaseConstraintSet.h>
#include <sofa/core/behavior/BaseController.h>
#include <sofa/core/behavior/BaseForceField.h>
#include <sofa/core/behavior/BaseInteractionForceField.h>
#include <sofa/core/behavior/BaseMass.h>
#include <sofa/core/behavior/OdeSolver.h>
#include <sofa/core/behavior/ConstraintSolver.h>
#include <sofa/core/behavior/BaseMatrixLinearSystem.h>
#include <sofa/core/behavior/BaseMechanicalState.h>
#include <sofa/core/behavior/BaseProjectiveConstraintSet.h>
#include <sofa/core/behavior/ConstraintSolver.h>
#include <sofa/core/behavior/LinearSolver.h>
#include <sofa/core/behavior/BaseAnimationLoop.h>
#include <sofa/core/behavior/OdeSolver.h>
#include <sofa/core/collision/CollisionAlgorithm.h>
#include <sofa/core/collision/Intersection.h>
#include <sofa/core/collision/Pipeline.h>
#include <sofa/core/loader/BaseLoader.h>
#include <sofa/core/objectmodel/ConfigurationSetting.h>
#include <sofa/core/objectmodel/ContextObject.h>
#include <sofa/core/topology/BaseTopologyObject.h>
#include <sofa/core/topology/Topology.h>
#include <sofa/core/topology/TopologicalMapping.h>
#include <sofa/core/loader/BaseLoader.h>
#include <sofa/core/topology/Topology.h>
#include <sofa/core/visual/VisualModel.h>
#include <sofa/core/behavior/BaseOrderingMethod.h>

namespace sofa::core
{
Expand Down Expand Up @@ -131,14 +131,36 @@ const ComponentLibrary *CategoryLibrary::getComponent( const std::string &catego

std::vector<std::string> CategoryLibrary::getCategories()
{
return std::vector<std::string> {"ContextObject", "VisualModel", "BehaviorModel",
"CollisionModel", "MechanicalState", "ForceField",
"InteractionForceField", "ProjectiveConstraintSet",
"ConstraintSet", "Mapping", "Engine", "TopologicalMapping",
"Mass", "OdeSolver", "ConstraintSolver", "ConstraintSolver",
"LinearSolver", "LinearSystem", "AnimationLoop", "Topology", "TopologyObject",
"Controller", "Loader", "CollisionAlgorithm",
"ConfigurationSetting", "_Miscellaneous"};
return std::vector<std::string>{
"AnimationLoop",
"BehaviorModel",
"CollisionAlgorithm",
"CollisionModel",
"ConfigurationSetting",
"ConstraintSet",
"ConstraintSolver",
"ConstraintSolver",
"ContextObject",
"Controller",
"Engine",
"Exporter",
"ForceField",
"InteractionForceField",
"LinearSolver",
"LinearSystem",
"Loader",
"Mapping",
"Mass",
"MechanicalState",
"OdeSolver",
"OrderingMethod",
"ProjectiveConstraintSet",
"TopologicalMapping",
"Topology",
"TopologyObject",
"VisualModel",
"_Miscellaneous"
};
}

void CategoryLibrary::getCategories(const objectmodel::BaseClass* mclass,
Expand Down Expand Up @@ -167,6 +189,8 @@ void CategoryLibrary::getCategories(const objectmodel::BaseClass* mclass,
v.push_back("Mapping");
if (mclass->hasParent(DataEngine::GetClass()))
v.push_back("Engine");
if (mclass->hasParent("BaseSimulationExporter"))
v.push_back("Exporter");
if (mclass->hasParent(topology::TopologicalMapping::GetClass()))
v.push_back("TopologicalMapping");
if (mclass->hasParent(behavior::BaseMass::GetClass()))
Expand All @@ -179,6 +203,8 @@ void CategoryLibrary::getCategories(const objectmodel::BaseClass* mclass,
v.push_back("ConstraintSolver");
if (mclass->hasParent(behavior::BaseMatrixLinearSystem::GetClass()))
v.push_back("LinearSystem");
if (mclass->hasParent(behavior::BaseOrderingMethod::GetClass()))
v.push_back("OrderingMethod");
if (mclass->hasParent(behavior::LinearSolver::GetClass()))
v.push_back("LinearSolver");
if (mclass->hasParent(behavior::BaseAnimationLoop::GetClass()))
Expand Down
4 changes: 2 additions & 2 deletions Sofa/framework/Core/src/sofa/core/CategoryLibrary.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ class SOFA_CORE_API CategoryLibrary
* CollisionAlgorithm, CollisionAlgorithm, CollisionAlgorithm,
* CollisionModel, ConfigurationSetting, ConstraintSet,
* ConstraintSolver, ConstraintSolver, ContextObject, Controller,
* Engine, ForceField, InteractionForceField, LinearSolver, LinearSystem,
* Loader, Mapping, Mass, MechanicalState, OdeSolver,
* Engine, Exporter, ForceField, InteractionForceField, LinearSolver, LinearSystem,
* Loader, Mapping, Mass, MechanicalState, OdeSolver, OrderingMethod,
* ProjectiveConstraintSet, TopologicalMapping, Topology,
* TopologyObject, and VisualModel
*/
Expand Down

0 comments on commit cf1a719

Please sign in to comment.