Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge inf_dev_2022 into inf_dev_2024 #12

Open
wants to merge 146 commits into
base: inf_dev_2024
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
b71443c
[SofaCUDA] Add cpu/gpu scene for SphereCollisionModel
epernod Jan 21, 2022
b95d8e5
[src] Fix VisualModelImpl texture update whit topological changes
epernod Mar 18, 2022
0891940
[SofaCUDA] backup some work
epernod Jun 23, 2022
df831f9
[SofaCuda] Fix CMake and remove includes from legacy header
epernod Jun 26, 2022
f28104a
[SofaCUDA] Fix cmake.in libs
epernod Jun 26, 2022
d1b2564
[Core.Topology] Fix info message when Topology given to topologyHandl…
epernod Jul 18, 2022
ae04573
[Constraint.Projective] Fix restoreLastState in draw method for Rigid…
epernod Jul 18, 2022
a23af7b
[Topology.Container] Fix restoreLastState in draw method
epernod Jul 19, 2022
29b9d26
[SofaSphFluid] remove old getTemplateName api
epernod Jul 19, 2022
331c365
[SofaCuda] remove old getTemplateName api
epernod Jul 19, 2022
aa9bfa9
Merge branch 'master' into inf_dev_2022
epernod Jul 28, 2022
6cb153f
[SofaCUDA] Add cudaVec3f and CudaVec3f1 template compatibility for Un…
epernod Feb 14, 2022
ee28641
[SofaCUDA] split the Cuda Constraint correction into 3 files.
epernod Feb 16, 2022
cd6ad22
[SofaCUDA] Update namespace in CUDA constraint correction component s…
epernod Jun 1, 2022
d40d647
Update applications/plugins/SofaCUDA/sofa/gpu/cuda/CudaLinearSolverCo…
epernod Jul 28, 2022
7219467
Update CudaLinearSolverConstraintCorrection.cpp
epernod Jul 28, 2022
15f409a
[Topology.c.dynamic] Fix initTopology call chains if not element is f…
epernod Aug 11, 2022
655cb25
[Type] Add NoInit constructor for quat class
epernod Aug 11, 2022
33bafcb
[Topology] Add method to remove child TopolodyData from Topology buff…
epernod Aug 24, 2022
ca870ba
[Topology] Add method to remove a TopologyHandler from the list of To…
epernod Aug 24, 2022
536dfda
[Topology] Remove old Disabled and Deprecated method
epernod Aug 24, 2022
4b8086a
[Topology] Add mecanism to remove TopologyHandler from TopologyContai…
epernod Aug 24, 2022
98c644e
Revert "[Topology.c.dynamic] Fix initTopology call chains if not elem…
epernod Aug 24, 2022
e2702a7
[Topology_test] Remove some warnings in scenes
epernod Aug 24, 2022
5542fde
[Topology_test] Factorize some code in EdgeSetTopology_test
epernod Aug 24, 2022
9f4c0bb
[Topology_test] Some cleaning in EdgeSetTopology_test
epernod Aug 25, 2022
5a5070b
[Topology_test] Add tests in EdgeSetTopology_test to check topologica…
epernod Aug 25, 2022
11a79a7
[Topology_test] Some cleaning in EdgeSetTopology_test
epernod Aug 25, 2022
9f06b30
[Topology] Fix init of points in case of empty mesh with only points
epernod Aug 25, 2022
892de31
Merge branch 'master' into inf_dev_2022
epernod Aug 26, 2022
227c7dd
[Topology] rename method initTpology into initContainers and provide …
epernod Aug 26, 2022
64c6a91
[MultiThreading] Replace call to getter to init topology by call to i…
epernod Aug 26, 2022
a8a9c37
[Topology] Clean some using in BaseMeshTopology
epernod Aug 28, 2022
a8256e3
[tests] Fix wrong init variables in tests
epernod Sep 1, 2022
bf9d260
[SofaSphFluid] Fix required plugin in scenes
epernod Sep 1, 2022
c6a76b4
Fix required plugin in scenes
epernod Sep 1, 2022
56b7480
[tests] Fix wrong init variables in tests
epernod Sep 1, 2022
7eeb32f
[tests] Fix remove SofaComponentAll plugin which doesn't exist anymore
epernod Sep 1, 2022
af4256e
[test] Fix some warning in tests
epernod Sep 5, 2022
85fd964
[Topology] Update topologyHandler link method to data array to a gene…
epernod Sep 5, 2022
738964f
[Topology] replace List<TopologyHandler> by a set<TopologyHandler> to…
epernod Sep 5, 2022
c1918de
[Topology] Update methods and used of bool m_isRegistered
epernod Sep 5, 2022
f3b46d3
[Topology] Fix removeTopologyHandler for set instead of list
epernod Sep 5, 2022
95bb822
[Topology] Udpate topologyData and handler to use unique unlinkFromTo…
epernod Sep 5, 2022
930a69b
[tests] Fix test on topologyHandler
epernod Sep 5, 2022
64f1ae5
[Topology] Fix segfault
epernod Sep 5, 2022
7cbca09
[tests] Fix some tests
epernod Sep 6, 2022
e9d248b
[test] Fix core tests
epernod Sep 6, 2022
0c01643
[SofaCarving] Some cleaning in CArvingMAnager and use link instead of…
epernod Sep 7, 2022
7a24ed4
[SofaCarving] Fix warnings in test
epernod Sep 7, 2022
c2a6f3e
[SofaCarving] Fix missing required plugin
epernod Sep 7, 2022
c73e203
Merge branch 'master' into inf_dev_2022
epernod Sep 7, 2022
644b577
[Topology] Fix internal update loop during process
epernod Sep 20, 2022
c712c8f
[constraint] Remove reset method in BilateralConstraint calling init …
epernod Sep 20, 2022
b8039b9
[Topology] Add topologyChangeType per TopologyChangeElementInfo
epernod Sep 20, 2022
01a8de6
[Topology] Backup changes in TopologyHandler
epernod Sep 20, 2022
6371e90
[Topology] Add nodiscard to addTopologyHandler method
epernod Sep 20, 2022
1685e5b
[Topology] Update getLastElementIndex in TopologySubsetIndices to use…
epernod Sep 20, 2022
a88d4de
[constraint] Update BilateralInteractionConstraint index list ot be T…
epernod Sep 20, 2022
7976f06
[constraint] Add mechanism in BilateralInteractionConstraint index to…
epernod Sep 20, 2022
4681457
[scenes] Add RemovingBilateralInteractionConstraint example
epernod Sep 20, 2022
6080627
[TopologyChange] Add performance test
epernod Sep 21, 2022
8f81ae9
[Mapping] Add checks at init in TopologicalMapping
hugtalbot Sep 27, 2022
6584da5
remove useless file
hugtalbot Sep 27, 2022
058581b
Update Sofa/framework/Core/src/sofa/core/topology/TopologySubsetData.inl
epernod Sep 23, 2022
cebcd19
Update Sofa/framework/Core/src/sofa/core/topology/TopologySubsetData.inl
epernod Sep 23, 2022
e47828b
Update CarvingManager.h
epernod Sep 26, 2022
f85e7d6
Update error message to better guide the user
hugtalbot Sep 29, 2022
e20666f
Add node requiredPlugin
epernod Sep 30, 2022
b1e6b0c
Update applications/plugins/SofaCarving/CarvingManager.cpp
epernod Sep 30, 2022
452ddd5
Update applications/plugins/SofaCarving/CarvingManager.cpp
epernod Sep 29, 2022
35ab293
Update applications/plugins/SofaCarving/CarvingManager.h
epernod Sep 30, 2022
83007f4
Update applications/plugins/SofaCarving/CarvingManager.h
epernod Sep 30, 2022
089f65c
Update link to detectionNarrowPhase
epernod Sep 30, 2022
cc3c410
Remove carvingDistance.GEtvalue in loop
epernod Sep 30, 2022
905a111
Remove use of toolCollisionModel use only the link
epernod Sep 30, 2022
8a74c00
fix compile
epernod Sep 30, 2022
49a7932
[Carving] Use componentState instead of bool carvingReading, remove r…
epernod Oct 1, 2022
f4a77f0
Fix typo in scenes
epernod Oct 2, 2022
3a74490
clean scenes
epernod Oct 3, 2022
67680c1
Fix narrowDetection link check
epernod Oct 3, 2022
a4218e1
[tests] Update carving test
epernod Oct 3, 2022
a8e5f7b
Merge branch 'master' into inf_dev_2022
epernod Oct 20, 2022
6c338c0
[Topology] update and clean code of Edge2QuatTopologicalMapping
epernod Oct 19, 2022
c520d90
Add example of Edge2QuadTopologicalMapping
epernod Oct 19, 2022
717692d
[Edge2QuadTopologicalMapping] Some more cleaning
epernod Oct 19, 2022
b799463
[TriangularFEMForceField] Update triangle area at each step
epernod Oct 19, 2022
4b765c5
Merge remote-tracking branch 'hugtalbot/check_topologicalmapping_init…
epernod Oct 20, 2022
84fafe0
Fix bad merge
epernod Oct 20, 2022
e012504
[TriangularFEMForceField] optimise topology access in draw method
epernod Oct 20, 2022
a685391
[TriangularFEMForceField] avoid double write access to the TriangleIn…
epernod Oct 20, 2022
d2da81d
[TriangularFEMForceField] move computation of min max mean stress val…
epernod Oct 20, 2022
9142c66
[TopologicalMapping] move some implementation into cpp file
epernod Oct 20, 2022
f69c8e2
Apply suggestions from code review
epernod Oct 21, 2022
12d1130
Update TriangularFEMForceField.inl
epernod Oct 21, 2022
e47145e
[helper.accessor] Add more method support from vector class inside Wr…
epernod Oct 25, 2022
d352174
[Geometry] Add method to convert elementType into const char* for err…
epernod Oct 25, 2022
a162d2f
Add method in TopologicalMapping to check the type of element
epernod Oct 25, 2022
338131b
[topology.mapping] Update all topological mapping ot use method from …
epernod Oct 25, 2022
3047f7e
[topology.mapping] Clean checks in Edge2QuadTopologicalMapping
epernod Oct 26, 2022
b6cec75
[Topology] Some more cleaning in TopologicalMapping
epernod Oct 26, 2022
2bb18a6
[Topology.mapping] Replace all beginEdit by writeAccessor on Loc2GlobMap
epernod Oct 26, 2022
e45b259
[topology.mapping] Fix edge2QuadTopologicalMapping types
epernod Oct 26, 2022
a8ab7e1
Fix some copy instead of const &
epernod Oct 26, 2022
17d7f07
Fix some copy instead of const &
epernod Oct 26, 2022
7d3da57
Add example scene in python
epernod Oct 26, 2022
d280cf8
Fix unnecessary empty methods in TopologyHandler class.
epernod Oct 29, 2022
23a16bc
[TopologyHandler] Add m_registeredElements list to replace isRegistered
epernod Oct 29, 2022
6ae94f9
[Topology] Remove TopologyHandler m_isregistered to use instead m_reg…
epernod Oct 30, 2022
324fcd9
[TopologyData] Fix potential double creation of TopologyHandler, over…
epernod Oct 30, 2022
0aa9cf7
[MechanicalLoad_test] Remove warning and fix wrong double init.
epernod Oct 30, 2022
8e9f8e5
[LinearElasticity_test] fix wrong double init.
epernod Oct 30, 2022
3d5affa
[tests] Remove warnings from missing animationLoop
epernod Oct 31, 2022
a63fa9e
[test] Fix multiple init of the component instead of using the correc…
epernod Oct 31, 2022
7d70e93
[TetrahedralTensorMass] small update on container access
epernod Oct 31, 2022
ee148df
[TriangularFEMForceField] move code to compute stress per vertex into…
epernod Oct 31, 2022
3803315
Fix MeshTopology initContainer
epernod Oct 31, 2022
f0888bd
[Bilateral] Replace beginEdit by writeOnlyAccessor
epernod Oct 31, 2022
16e2ebd
[Bilateral] Replace beginEdit by writeOnlyAccessor
epernod Oct 31, 2022
a7d2230
Add option to init graph in run_test method
epernod Oct 31, 2022
93b742a
REname initContainers into computeCrossElementBuffers
epernod Nov 3, 2022
eaf1341
restore comment
epernod Nov 3, 2022
42a03d3
Fix some examples
epernod Nov 3, 2022
da6763b
[SofaCuda] Add some method in CudaVector write accessor to match chan…
epernod Nov 6, 2022
8920a06
[SofaCuda] Add CudaBilateralInteractionConstraint specialization for …
epernod Nov 6, 2022
b1947f2
[Constraint] Update BilateralInteractionConstraint namespace
epernod Nov 8, 2022
09dab3d
[SofaPhysicsAPI] clean some ifdef vs pragma
epernod Nov 17, 2022
33238f4
[SofaPhysicsAPI] Add getGravity method taking output parameters
epernod Nov 17, 2022
d296d55
[SofaPhysicsAPI] Add methods to get Access to outputMesh* using name …
epernod Nov 17, 2022
aba01bd
[SofaPhysicsAPI] Add SofaPhysicsBinding
epernod Nov 17, 2022
0d17c24
[SofaPhysicsAPI] Add methods and bindings to access mesh data using o…
epernod Nov 19, 2022
b61dd17
[SofaPhysicsAPI] Add methods load Sofa.ini file and unload of scene +…
epernod Nov 19, 2022
8380d9e
[SofaPhysicsAPI] Fix some return code in scene loading and gravity ac…
epernod Nov 19, 2022
0aadab6
[SofaPhysicsAPI] Add api method and bindings to retrieve SOFA message…
epernod Nov 21, 2022
9e7af08
[SofaPhysicsAPI] Backup logs on scene loading and number of visual mo…
epernod Nov 21, 2022
df75884
[SofaPhysicsAPI] Add bindings to load plugin
epernod Nov 21, 2022
49cbbbd
[SofaPhysicsAPI] Fix SofaPhysicsOutputMesh creation
epernod Nov 21, 2022
2193297
[SofaPhysicsAPI] Fix possible segfault if mesh is null in methods req…
epernod Nov 23, 2022
18821f2
[SofaPhysicsAPI] Fix method get SofaPhysicsOutputMesh using mesh name
epernod Nov 23, 2022
e86596f
[SofaPhysicsAPI] Fix method getSimulationStep
epernod Nov 24, 2022
91b40fe
[src] Fix getVPositions if vertices2 is present
epernod Nov 27, 2022
4e5cd80
[Geomagic] Check component status before killing it
epernod Nov 30, 2022
c47e01c
Backup some changes from demo
epernod Nov 30, 2022
f3de6a6
Merge branch 'master' into inf_dev_2022
epernod Jun 10, 2023
525c6c0
Merge branch 'master' into inf_dev_2022
epernod Mar 14, 2024
58a3673
Merge branch 'master' into inf_dev_2022
epernod Apr 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -942,6 +942,7 @@ void TriangularFEMForceField<DataTypes>::computeStressPerVertex()
}
}


// ----------------------------------------------------------------------------------------------------------------------------------------
// --- Compute value of stress along a given direction (typically the fiber direction and transverse direction in anisotropic materials)
// ----------------------------------------------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -1212,6 +1213,9 @@ void TriangularFEMForceField<DataTypes>::accumulateForceLarge(VecCoord& f, const
const Coord deforme_b = R_0_2 * (pB - pA);
const Coord deforme_c = R_0_2 * (pC - pA);

const Real determinant = deforme_b[0] * deforme_c[1];
tInfo.area = determinant * 0.5;

// Strain-displacement matrix
StrainDisplacement J(type::NOINIT);
try
Expand Down Expand Up @@ -1370,7 +1374,6 @@ void TriangularFEMForceField<DataTypes>::draw(const core::visual::VisualParams*
{
const type::vector<VertexInformation>& vertexInf = vertexInfo.getValue();
std::vector<sofa::type::Vec3> vertices;

std::vector<sofa::type::RGBAColor> colorVector;

auto evalColor = p_drawColorMap->getEvaluator(m_minStress, m_maxStress);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,6 @@ MeshTopology::MeshTopology()

void MeshTopology::init()
{

BaseMeshTopology::init();

const auto hexahedra = sofa::helper::getReadAccessor(seqHexahedra);
Expand All @@ -535,9 +534,12 @@ void MeshTopology::init()
else
m_upperElementType = sofa::geometry::ElementType::POINT;

// computeCrossElementBuffers();

void MeshTopology::computeCrossElementBuffers()
{
// compute the number of points, if the topology is charged from the scene or if it was loaded from a MeshLoader without any points data.
if (nbPoints==0)
if (nbPoints == 0)
{
unsigned int n = 0;
const auto countPoints = [&n](const auto& seqElements)
Expand Down Expand Up @@ -565,7 +567,63 @@ void MeshTopology::init()

if(edges.empty() )
{
if(seqEdges.getParent() != nullptr )
createHexahedraAroundVertexArray();

if (!seqQuads.getValue().empty())
{
createQuadsInHexahedronArray();
createHexahedraAroundQuadArray();
}

if (!seqEdges.getValue().empty())
{
createEdgesInHexahedronArray();
createHexahedraAroundEdgeArray();
}
}
if (!seqTetrahedra.getValue().empty()) // Create tetrahedron cross element buffers.
{
createTetrahedraAroundVertexArray();

if (!seqTriangles.getValue().empty())
{
createTrianglesInTetrahedronArray();
createTetrahedraAroundTriangleArray();
}

if (!seqEdges.getValue().empty())
{
createEdgesInTetrahedronArray();
createTetrahedraAroundEdgeArray();
}
}
if (!seqQuads.getValue().empty()) // Create triangle cross element buffers.
{
createQuadsAroundVertexArray();

if (!seqEdges.getValue().empty())
{
createEdgesInQuadArray();
createQuadsAroundEdgeArray();
}
}
if (!seqTriangles.getValue().empty()) // Create triangle cross element buffers.
{
createTrianglesAroundVertexArray();

if (!seqEdges.getValue().empty())
{
createEdgesInTriangleArray();
createTrianglesAroundEdgeArray();
}
}
if (!seqEdges.getValue().empty())
{
createEdgesAroundVertexArray();
}

{
if (seqEdges.getParent() != nullptr)
{
seqEdges.delInput(seqEdges.getParent());
}
Expand All @@ -575,7 +633,7 @@ void MeshTopology::init()
}
if(triangles.empty() )
{
if(seqTriangles.getParent() != nullptr)
if (seqTriangles.getParent() != nullptr)
{
seqTriangles.delInput(seqTriangles.getParent());
}
Expand All @@ -585,7 +643,7 @@ void MeshTopology::init()
}
if(quads.empty() )
{
if(seqQuads.getParent() != nullptr )
if (seqQuads.getParent() != nullptr)
{
seqQuads.delInput(seqQuads.getParent());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ class SOFA_COMPONENT_TOPOLOGY_CONTAINER_CONSTANT_API MeshTopology : public core:
public:
void init() override;

/// Method called by component Init method. Will create all the topology buffers
void computeCrossElementBuffers() override;

Size getNbPoints() const override;

void setNbPoints(Size n) override;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ void EdgeSetTopologyContainer::init()

// only init if edges are present at init.
if (!m_edge.empty())
initTopology();
computeCrossElementBuffers();
}

void EdgeSetTopologyContainer::initTopology()
void EdgeSetTopologyContainer::computeCrossElementBuffers()
{
// force computation of neighborhood elements
createEdgesAroundVertexArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API EdgeSetTopologyContainer : p
/// Dynamic Topology API
/// @{
/// Method called by component Init method. Will create all the topology neighboorhood buffers.
void initTopology();
void computeCrossElementBuffers() override;

/** \brief Checks if the topology is coherent
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ void HexahedronSetTopologyContainer::init()
}

if (!m_hexahedron.empty())
initTopology();
computeCrossElementBuffers();
}

void HexahedronSetTopologyContainer::initTopology()
void HexahedronSetTopologyContainer::computeCrossElementBuffers()
{
QuadSetTopologyContainer::initTopology();
QuadSetTopologyContainer::computeCrossElementBuffers();

// Create tetrahedron cross element buffers.
createQuadsInHexahedronArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,8 @@ class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API HexahedronSetTopologyContain
/// Dynamic Topology API
/// @{

/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see TriangleSetTopologyContainer::initTopology()
void initTopology();
/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see QuadSetTopologyContainer::computeCrossElementBuffers()
void computeCrossElementBuffers() override;

/** \brief Checks if the topology is coherent
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ void QuadSetTopologyContainer::init()

// only init if triangles are present at init.
if (!m_quads.empty())
initTopology();
computeCrossElementBuffers();
}

void QuadSetTopologyContainer::initTopology()
void QuadSetTopologyContainer::computeCrossElementBuffers()
{
// Force creation of Edge Neighboordhood buffers.
EdgeSetTopologyContainer::initTopology();
EdgeSetTopologyContainer::computeCrossElementBuffers();

// Create triangle cross element buffers.
createEdgesInQuadArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@ class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API QuadSetTopologyContainer : p

/// Dynamic Topology API
/// @{
/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see EdgeSetTopologyContainer::initTopology()
void initTopology();
/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see EdgeSetTopologyContainer::computeCrossElementBuffers()
void computeCrossElementBuffers() override;

/** \brief Checks if the topology is coherent
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,12 @@ void TetrahedronSetTopologyContainer::init()
}

if (!m_tetrahedron.empty())
initTopology();
computeCrossElementBuffers();
}

void TetrahedronSetTopologyContainer::initTopology()
void TetrahedronSetTopologyContainer::computeCrossElementBuffers()
{
TriangleSetTopologyContainer::initTopology();
TriangleSetTopologyContainer::computeCrossElementBuffers();

// Create tetrahedron cross element buffers.
createTrianglesInTetrahedronArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,8 @@ class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API TetrahedronSetTopologyContai
/// Dynamic Topology API
/// @{

/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see TriangleSetTopologyContainer::initTopology()
void initTopology();
/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see TriangleSetTopologyContainer::computeCrossElementBuffers()
void computeCrossElementBuffers() override;

/** \brief Checks if the topology is coherent
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ void TriangleSetTopologyContainer::init()

// only init if triangles are present at init.
if (!m_triangle.empty())
initTopology();
computeCrossElementBuffers();
}

void TriangleSetTopologyContainer::initTopology()
void TriangleSetTopologyContainer::computeCrossElementBuffers()
{
// Force creation of Edge Neighboordhood buffers.
EdgeSetTopologyContainer::initTopology();
EdgeSetTopologyContainer::computeCrossElementBuffers();

// Create triangle cross element buffers.
createEdgesInTriangleArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API TriangleSetTopologyContainer

/// Dynamic Topology API
/// @{
/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see EdgeSetTopologyContainer::initTopology()
void initTopology();
/// Method called by component Init method. Will create all the topology neighboorhood buffers and call @see EdgeSetTopologyContainer::computeCrossElementBuffers()
void computeCrossElementBuffers() override;

/** \brief Checks if the topology is coherent
*
Expand Down
Loading