FemConstraintFrictionlessContact.h
Go to the documentation of this file.
// This file is a part of the OpenSurgSim project.
// Copyright 2013, SimQuest Solutions Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef SURGSIM_PHYSICS_FEMCONSTRAINTFRICTIONLESSCONTACT_H
#define SURGSIM_PHYSICS_FEMCONSTRAINTFRICTIONLESSCONTACT_H
#include "SurgSim/Physics/ConstraintImplementation.h"
namespace SurgSim
{
namespace Physics
{
class FemConstraintFrictionlessContact: public ConstraintImplementation
{
public:
FemConstraintFrictionlessContact();
virtual ~FemConstraintFrictionlessContact();
SurgSim::Physics::ConstraintType getConstraintType() const override;
private:
size_t doGetNumDof() const override;
void doBuild(double dt,
const ConstraintData& data,
const std::shared_ptr<Localization>& localization,
MlcpPhysicsProblem* mlcp,
size_t indexOfRepresentation,
size_t indexOfConstraint,
ConstraintSideSign sign) override;
double m_mlcpNumericalPrecision;
};
}; // namespace Physics
}; // namespace SurgSim
#endif // SURGSIM_PHYSICS_FEMCONSTRAINTFRICTIONLESSCONTACT_H
SurgSim::Physics::FemConstraintFrictionlessContact::m_mlcpNumericalPrecision
double m_mlcpNumericalPrecision
Definition: FemConstraintFrictionlessContact.h:54
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::Physics::MlcpPhysicsProblem
A description of a physical mixed LCP system to be solved.
Definition: MlcpPhysicsProblem.h:43
SurgSim::Physics::ConstraintData
Base class for all CosntraintData Derived classes should be specific to a given constraint.
Definition: ConstraintData.h:27
ConstraintImplementation.h
SurgSim::Physics::FemConstraintFrictionlessContact::doGetNumDof
size_t doGetNumDof() const override
Does get number of degree of freedom.
Definition: FemConstraintFrictionlessContact.cpp:117
SurgSim::Physics::FemConstraintFrictionlessContact::getConstraintType
SurgSim::Physics::ConstraintType getConstraintType() const override
Gets the constraint type for this ConstraintImplementation.
Definition: FemConstraintFrictionlessContact.cpp:112
SurgSim::Physics::FemConstraintFrictionlessContact::doBuild
void doBuild(double dt, const ConstraintData &data, const std::shared_ptr< Localization > &localization, MlcpPhysicsProblem *mlcp, size_t indexOfRepresentation, size_t indexOfConstraint, ConstraintSideSign sign) override
Builds the subset of an Mlcp physics problem associated to this implementation.
Definition: FemConstraintFrictionlessContact.cpp:41
SurgSim::Physics::ConstraintImplementation
Base class for all constraint implementations. A ConstraintImplementation defines 1 side of a constra...
Definition: ConstraintImplementation.h:42
SurgSim::Physics::FemConstraintFrictionlessContact::FemConstraintFrictionlessContact
FemConstraintFrictionlessContact()
Constructor.
Definition: FemConstraintFrictionlessContact.cpp:33
SurgSim::Physics::ConstraintSideSign
ConstraintSideSign
Enum defining on which side of the constraint an implementation is (positive or negative side) ...
Definition: ConstraintImplementation.h:39
SurgSim::Physics::FemConstraintFrictionlessContact::~FemConstraintFrictionlessContact
virtual ~FemConstraintFrictionlessContact()
Destructor.
Definition: FemConstraintFrictionlessContact.cpp:37
SurgSim::Physics::ConstraintType
ConstraintType
Definition: ConstraintType.h:24
SurgSim::Physics::FemConstraintFrictionlessContact
Base class for all FemRepresentation frictionless contact constraint implementation.
Definition: FemConstraintFrictionlessContact.h:28