SOFA Documentation
Create your plugin
Initializing search
sofa-framework/sofa
SOFA Documentation
sofa-framework/sofa
Getting Started
Getting Started
Binaries
Binaries
Binaries instructions
Build
Build
Linux
MacOS
Windows
Build Options
Video Tutorials
Video Tutorials
How to compile SOFA
How to compile a plugin
Introduction course
Step by Step
Using SOFA
Using SOFA
Lexicography
runSofa
runSofa with Qt
Create your scene in XML
Create your scene in Cpp
SOFA-NG migration
Inspect components
Interact with the mouse
Use SOFA in Matlab
Performances
Performances
Inspect performances
Improve performances
Simulation Principles
Simulation Principles
Scene Graph
Animation Loop
Visitors
MechanicalObject
Topology
Engine
Example-Simple Body
System Resolution
System Resolution
Integration Scheme
Linear Solver
Multi-Model Representation
Multi-Model Representation
Physics integration
Mass
ForceField
Collision
Visual Model
Mapping
Constraint
Constraint
Projective Constraint
Lagrange Constraint
Components
Components
AnimationLoop
AnimationLoop
DefaultAnimationLoop
MultiStepAnimationLoop
FreeMotionAnimationLoop
ConstraintAnimationLoop
MultiTagAnimationLoop
Collision
Collision
Detection
Detection
Algorithm
Algorithm
CollisionPipeline
BroadPhase
BruteForceBroadPhase
DefaultPipeline
Detection Sweep and Prune
Detection SAP Incremental
NarrowPhase
BVHNarrowPhase
DirectSAPNarrowPhase
RayTraceNarrowPhase
BruteForceDetection
DirectSAP
IncrSAP
RayTraceDetection
Intersection
Intersection
IntersectionMethod
MinProximityIntersection
LocalMinDistance
DiscreteIntersection
NewProximityIntersection
Geometry
Geometry
CollisionModels
CubeCollisionModel
CylinderCollisionModel
LineCollisionModel
PointCollisionModel
RayCollisionModel
SphereCollisionModel
TetrahedronCollisionModel
TriangleCollisionModel
TriangleModelInRegularGrid
TriangleOctreeModel
CollisionGroupManagers
CollisionGroupManagers
CollisionGroupManager
Response
Response
Contact
Contact
CollisionResponse
ContactListener
PenalityContactForceField
RuleBasedContactManager
Constraint
Constraint
Projective
Projective
AttachProjectiveConstraint
FixedProjectiveConstraint
AffineMovementProjectiveConstraint
DirectionProjectiveConstraint
FixedPlaneProjectiveConstraint
FixedRotationProjectiveConstraint
FixedTranslationProjectiveConstraint
HermiteSplineProjectiveConstraint
LineProjectiveConstraint
LinearMovementProjectiveConstraint
LinearVelocityProjectiveConstraint
OscillatorProjectiveConstraint
ParabolicProjectiveConstraint
PartialFixedProjectiveConstraint
PartialLinearMovementProjectiveConstraint
PatchTestMovementProjectiveConstraint
PlaneProjectiveConstraint
PointProjectiveConstraint
PositionBasedDynamicsProjectiveConstraint
SkeletalMotionProjectiveConstraint
Lagrangian
Lagrangian
Correction
Correction
GenericConstraintCorrection
LinearSolverConstraintCorrection
PrecomputedConstraintCorrection
UncoupledConstraintCorrection
Model
Model
BilateralLagrangianConstraint
UnilateralLagrangianConstraint
FixedLagrangianConstraint
SlidingLagrangianConstraint
StopperLagrangianConstraint
UniformLagrangianConstraint
Solver
Solver
GenericConstraintSolver
LCPConstraintSolver
Engine
Engine
TextureInterpolation
Generate
Generate
Vertex2Frame
ExtrudeEdgesAndGenerateQuads
ExtrudeQuadsAndGenerateHexas
ExtrudeSurface
GenerateCylinder
GenerateGrid
GenerateRigidMass
GenerateSphere
GroupFilterYoungModulus
JoinPoints
MergeMeshes
MergePoints
MergeSets
MergeVectors
MeshBarycentricMapperEngine
MeshClosingEngine
MeshTetraStuffing
NormEngine
NormalsFromPoints
RandomPointDistributionInSurface
Spiral
Select
Select
ROI Selection
SubsetTopology
BoxROI
ComplementaryROI
IndicesFromValues
MergeROIs
MeshBoundaryROI
MeshROI
MeshSampler
MeshSplittingEngine
MeshSubsetEngine
NearestPointROI
PairBoxROI
PlaneROI
PointsFromIndices
ProximityROI
SelectConnectedLabelsROI
SelectLabelROI
SphereROI
ValuesFromIndices
ValuesFromPositions
Transform
Transform
TransformEngine
TransformPosition
DifferenceEngine
DilateEngine
DisplacementMatrixEngine
DisplacementTransformEngine
IndexValueMapper
Indices2ValuesMapper
InvertTransformMatrixEngine
MapIndices
MathOp
ProjectiveTransformEngine
QuatToRigidEngine
ROIValueMapper
RigidToQuatEngine
RotateTransformMatrixEngine
ScaleTransformMatrixEngine
SmoothMeshEngine
TranslateTransformMatrixEngine
Vertex2Frame
Analyze
Analyze
AverageCoord
ClusteringEngine
Distances
HausdorffDistance
ShapeMatching
SumEngine
SolidMechanics
SolidMechanics
FEM
FEM
Elastic
Elastic
BeamFEMForceField
FastTetrahedralCorotationalForceField
HexahedralFEMForceField
HexahedralFEMForceFieldAndMass
HexahedronFEMForceField
HexahedronFEMForceFieldAndMass
QuadBendingFEMForceField
TetrahedralCorotationalFEMForceField
TetrahedronFEMForceField
TriangleFEMForceField
TriangularAnisotropicFEMForceField
TriangularFEMForceField
TriangularFEMForceFieldOptim
HyperElastic
HyperElastic
TetrahedronHyperelasticityFEMForceField
PlasticMaterial
StandardTetrahedralFEMForceField
NonUniform
NonUniform
HexahedronCompositeFEMForceFieldAndMass
HexahedronCompositeFEMMapping
NonUniformHexahedralFEMForceFieldAndMass
NonUniformHexahedronFEMForceFieldAndMass
Spring
Spring
PolynomialSpringsForceField
AngularSpringForceField
FastTriangularBendingSprings
FrameSpringForceField
GearSpringForceField
JointSpringForceField
MeshSpringForceField
PolynomialRestShapeSpringsForceField
QuadBendingSprings
QuadularBendingSprings
RegularGridSpringForceField
RepulsiveSpringForceField
RestShapeSpringsForceField
SpringForceField
TriangleBendingSprings
TriangularBendingSprings
TriangularBiquadraticSpringsForceField
TriangularQuadraticSpringsForceField
VectorSpringForceField
TensorMass
TensorMass
TetrahedralTensorMassForceField
TriangularTensorMassForceField
MechanicalLoad
MechanicalLoad
ConicalForceField
ConstantForceField
DiagonalVelocityDampingForceField
EdgePressureForceField
EllipsoidForceField
Gravity
InteractionEllipsoidForceField
LinearForceField
OscillatingTorsionPressureForceField
PlaneForceField
QuadPressureForceField
SphereForceField
SurfacePressureForceField
TaitSurfacePressureForceField
TorsionForceField
TrianglePressureForceField
UniformVelocityDampingForceField
ODESolver
ODESolver
Forward
Forward
EulerExplicitSolver
StaticSolver
CentralDifferenceSolver
DampVelocitySolver
RungeKutta2Solver
RungeKutta4Solver
Backward
Backward
EulerImplicitSolver
NewmarkImplicitSolver
StaticSolver
VariationalSymplecticSolver
LinearSolver
LinearSolver
Iterative
Iterative
CGLinearSolver
Preconditioned CG
MatrixFreeSystem
MinResLinearSolver
ShewchukPCGLinearSolver
Direct
Direct
SparseCholeskySolver
SparseLDLSolver
AsyncSparseLDLSolver
SparseLUSolver
BTDLinearSolver
CholeskySolver
EigenSimplicialLDLT
EigenSimplicialLLT
EigenSparseLU
EigenSparseQR
MatrixLinearSystem
PrecomputedLinearSolver
SVDLinearSolver
TypedMatrixLinearSystem
Ordering
Ordering
AMDOrderingMethod
COLAMDOrderingMethod
NaturalOrderingMethod
Preconditioner
Preconditioner
BlockJacobiPreconditioner
JacobiPreconditioner
PrecomputedMatrixSystem
PrecomputedWarpPreconditioner
RotationMatrixSystem
SSORPreconditioner
WarpPreconditioner
IO
IO
Mesh
Mesh
MeshGmshLoader
MeshOBJLoader
MeshOffLoader
MeshSTLLoader
MeshVTKLoader
VTKExport
BlenderExporter
GIDMeshLoader
GridMeshCreator
MeshExporter
MeshTrianLoader
MeshXspLoader
OffSequenceLoader
STLExporter
SphereLoader
StringMeshCreator
VTKExporter
VisualModelOBJExporter
VoxelGridLoader
Mapping
Mapping
Linear
Linear
BarycentricMapping
BeamLinearMapping
CenterOfMassMapping
CenterOfMassMulti2Mapping
CenterOfMassMultiMapping
DeformableOnRigidFrameMapping
IdentityMapping
IdentityMultiMapping
LineSetSkinningMapping
Mesh2PointMechanicalMapping
Mesh2PointTopologicalMapping
SimpleTesselatedHexaTopologicalMapping
SimpleTesselatedTetraMechanicalMapping
SimpleTesselatedTetraTopologicalMapping
SkinningMapping
SubsetMapping
SubsetMultiMapping
TubularMapping
VoidMapping
NonLinear
NonLinear
AreaMapping
DistanceFromTargetMapping
DistanceMapping
DistanceMultiMapping
RigidMapping
SquareDistanceMapping
SquareMapping
VolumeMapping
Mass
Mass
UniformMass
MeshMatrixMass
DiagonalMass
Rendering
Rendering
Different Viewports
Shaders
Shadowing
Lighting
Visual
Visual
VisualStyle
Camera
InteractiveCamera
LineAxis
RecordedCamera
TrailRenderer
Visual3DText
VisualGrid
VisualModelImpl
VisualTransform
UI
UI
Customizing the UI
Recorded Camera
Controller
Controller
MechanicalStateController
Diffusion
Diffusion
TetrahedronDiffusionFEMForceField
GUI
GUI
AddFrameButtonSetting
AddRecordedCameraButtonSetting
AttachBodyButtonSetting
ConstraintAttachButtonSetting
FixPickedParticleButtonSetting
MouseInteractor
StartNavigationButtonSetting
Haptics
Haptics
LCPForceFeedback
NullForceFeedback
NullForceFeedbackT
LinearSystem
LinearSystem
CompositeLinearSystem
ConstantSparsityPatternSystem
ConstantSparsityProjectionMethod
MatrixLinearSystem
MatrixProjectionMethod
Playback
Playback
CompareState
CompareTopology
InputEventReader
ReadState
ReadTopology
WriteState
WriteTopology
Rendering2D
Rendering2D
OglColorMap
OglLabel
OglViewport
Rendering3D
Rendering3D
ClipPlane
DataDisplay
MergeVisualModels
OglCylinderModel
OglModel
OglSceneFrame
PointSplatModel
SlicedVolumetricModel
SceneUtility
SceneUtility
APIVersion
AddDataRepository
AddPluginRepository
FileMessageHandlerComponent
InfoComponent
MakeAlias
MakeDataAlias
MessageHandlerComponent
PauseAnimationOnEvent
Setting
Setting
BackgroundSetting
SofaDefaultPathSetting
StatsSetting
ViewerSetting
Shader
Shader
CompositingVisualLoop
DirectionalLight
LightManager
OglFloat2Attribute
OglFloat2Variable
OglFloat3Attribute
OglFloat3Variable
OglFloat4Attribute
OglFloat4Variable
OglFloatAttribute
OglFloatVariable
OglFloatVector2Variable
OglFloatVector3Variable
OglFloatVector4Variable
OglFloatVectorVariable
OglInt2Attribute
OglInt2Variable
OglInt3Attribute
OglInt3Variable
OglInt4Attribute
OglInt4Variable
OglIntAttribute
OglIntVariable
OglIntVector2Variable
OglIntVector3Variable
OglIntVector4Variable
OglIntVectorVariable
OglMatrix2Variable
OglMatrix2x3Variable
OglMatrix2x4Variable
OglMatrix3Variable
OglMatrix3x2Variable
OglMatrix3x4Variable
OglMatrix4Variable
OglMatrix4VectorVariable
OglMatrix4x2Variable
OglMatrix4x3Variable
OglOITShader
OglRenderingSRGB
OglShader
OglShaderDefineMacro
OglShaderVisualModel
OglShadowShader
OglTexture
OglTexture2D
OglTexturePointer
OglUInt2Attribute
OglUInt3Attribute
OglUInt4Attribute
OglUIntAttribute
OrderIndependentTransparencyManager
PositionalLight
PostProcessManager
SpotLight
VisualManagerPass
VisualManagerSecondaryPass
StateContainer
StateContainer
MappedObject
MechanicalObject
Topology
Topology
Container
Container
Constant
Constant
CubeTopology
MeshTopology
SphereQuadTopology
Dynamic
Dynamic
DynamicSparseGridGeometryAlgorithms
DynamicSparseGridTopologyContainer
DynamicSparseGridTopologyModifier
EdgeSetGeometryAlgorithms
EdgeSetTopologyContainer
EdgeSetTopologyModifier
HexahedronSetGeometryAlgorithms
HexahedronSetTopologyContainer
HexahedronSetTopologyModifier
MultilevelHexahedronSetTopologyContainer
PointSetGeometryAlgorithms
PointSetTopologyContainer
PointSetTopologyModifier
QuadSetGeometryAlgorithms
QuadSetTopologyContainer
QuadSetTopologyModifier
TetrahedronSetGeometryAlgorithms
TetrahedronSetTopologyContainer
TetrahedronSetTopologyModifier
TriangleSetGeometryAlgorithms
TriangleSetTopologyContainer
TriangleSetTopologyModifier
Grid
Grid
CylinderGridTopology
GridTopology
RegularGridTopology
SparseGridMultipleTopology
SparseGridRamificationTopology
SparseGridTopology
SphereGridTopology
Mapping
Mapping
CenterPointTopologicalMapping
Edge2QuadTopologicalMapping
Hexa2QuadTopologicalMapping
Hexa2TetraTopologicalMapping
IdentityTopologicalMapping
Quad2TriangleTopologicalMapping
SubsetTopologicalMapping
Tetra2TriangleTopologicalMapping
Triangle2EdgeTopologicalMapping
Utility
Utility
TopologicalChangeProcessor
TopologyBoundingTrasher
TopologyChecker
Plugins
Plugins
What is a plugin
Build a plugin from sources
Fetch plugin code source
Use a plugin binaries
Create your plugin
Usual plugins
Usual plugins
CGAL library
Python scripting
Using CUDA
Sensable
Xitact
HAPI
Geomagic
SofaCarving
MultiThreading
ArticulatedSystemPlugin
ArticulatedSystemPlugin
ArticulatedSystemMapping
ArticulatedHierarchyBVHController
ArticulatedHierarchyContainer
ArticulatedHierarchyController
Articulation
ArticulationCenter
CGALPlugin
CGALPlugin
BooleanOperations
CylinderMesh
DecimateMesh
FrontSurfaceReconstruction
MeshGenerationFromImage
MeshGenerationFromPolyhedron
PoissonSurfaceReconstruction
Refine2DMesh
TriangularConvexHull3D
UpsamplePointCloud
CSparseSolvers
CSparseSolvers
SparseCholeskySolver
SparseLUSolver
CollisionOBBCapsule
CollisionOBBCapsule
CapsuleCollisionModel
OBBCollisionModel
Geomagic
Geomagic
GeomagicDriver
GeomagicEmulator
InvertibleFVM
InvertibleFVM
InvertibleFVMForceField
ManifoldTopologies
ManifoldTopologies
ManifoldEdgeSetGeometryAlgorithms
ManifoldEdgeSetTopologyContainer
ManifoldEdgeSetTopologyModifier
ManifoldTetrahedronSetTopologyContainer
ManifoldTriangleSetGeometryAlgorithms
ManifoldTriangleSetTopologyContainer
ManifoldTriangleSetTopologyModifier
MultiThreading
MultiThreading
AnimationLoopParallelScheduler
BeamLinearMapping mt
DataExchange
MeanComputation
ParallelBVHNarrowPhase
ParallelBruteForceBroadPhase
ParallelCGLinearSolver
ParallelHexahedronFEMForceField
ParallelMeshSpringForceField
ParallelSpringForceField
ParallelTetrahedronFEMForceField
PluginExample
PluginExample
MyBehaviorModel
MyMappingPendulumInPlane
MyProjectiveConstraintSet
MyVisualModel
Registration
Registration
ClosestPointRegistrationForceField
GroupwiseRegistrationEngine
InertiaAlign
IntensityProfileCreator
IntensityProfileRegistrationForceField
RegistrationContactForceField
RegistrationExporter
SensableEmulation
SensableEmulation
OmniDriverEmu
ShapeMatchingPlugin
ShapeMatchingPlugin
ShapeMatchingForceField
ShapeMatchingRotationFinder
SofaCarving
SofaCarving
CarvingManager
SofaDistanceGrid
SofaDistanceGrid
DistanceGridForceField
FFDDistanceGridCollisionModel
RigidDistanceGridCollisionModel
SofaEulerianFluid
SofaEulerianFluid
Fluid2D
Fluid3D
SofaImplicitField
SofaImplicitField
BottleField
DiscreteGridField
ImplicitSurfaceMapping
InterpolatedImplicitSurface
SphericalField
StarShapedField
SofaMatrix
SofaMatrix
ComplianceMatrixExporter
ComplianceMatrixImage
FillReducingOrdering
GlobalSystemMatrixExporter
GlobalSystemMatrixImage
SofaSphFluid
SofaSphFluid
OglFluidModel
ParticleSink
ParticleSource
ParticlesRepulsionForceField
SPHFluidForceField
SPHFluidSurfaceMapping
SpatialGridContainer
SpatialGridPointModel
SoftRobots
SoftRobots
AnimationEditor
CableConstraint
CenterOfMass
DataVariationLimiter
JointConstraint
PREquivalentStiffnessForceField
PartialRigidificationConstraint
PartialRigidificationForceField
PipeForceField
PositionConstraint
SerialPortBridgeGeneric
SurfacePressureConstraint
UnilateralPlaneConstraint
VolumeFromTetrahedrons
VolumeFromTriangles
VolumetricRendering
VolumetricRendering
OglTetrahedralModel
OglVolumetricModel
Programming with SOFA
Programming with SOFA
Guidelines
SOFA packages
Create your plugin
Create your component
Create your engine
Create your scene in Cpp
Create your binaries
API overview
API overview
Components in SOFA
Data in components
DataTypes
Forward declaration
Create links
The ObjectFactory
Matrix assembly API
Message API
Events in SOFA
Pause the animation
Advanced Timer
Macro for DLL import export
Macro for deprecation
Contributing to SOFA
Contributing to SOFA
Contributing
Writing tests
Writing doc
Continuous integration
Lifecycle mechanisms
Add your paper on HAL
deprecated
deprecated
Tutorial application
Detection Ray tracing
Python2 Data wrapping
Python2 scripting
Create your plugin
See
Programming with SOFA > Create your plugin
.