ContactConstraintGeneration.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_CONTACTCONSTRAINTGENERATION_H
#define SURGSIM_PHYSICS_CONTACTCONSTRAINTGENERATION_H
#include <memory>
#include "SurgSim/Framework/Macros.h"
#include "SurgSim/Physics/Computation.h"
namespace SurgSim
{
namespace Framework
{
class Logger;
}
namespace DataStructures
{
struct Location;
}
namespace Collision
{
class Representation;
}
namespace Physics
{
class Localization;
class PhysicsManagerState;
class Representation;
class ContactConstraintGeneration : public Computation
{
public:
explicit ContactConstraintGeneration(bool doCopyState = false);
SURGSIM_CLASSNAME(SurgSim::Physics::ContactConstraintGeneration);
~ContactConstraintGeneration();
private:
std::shared_ptr<SurgSim::Framework::Logger> m_logger;
std::shared_ptr<PhysicsManagerState> doUpdate(const double& dt, const std::shared_ptr<PhysicsManagerState>& state)
override;
std::shared_ptr<SurgSim::DataStructures::Location> makeLocation(
std::shared_ptr<SurgSim::Physics::Representation> physicsRepresentation,
std::shared_ptr<SurgSim::Collision::Representation> collisionRepresentation,
const SurgSim::DataStructures::Location& location);
};
}; // Physics
}; // SurgSim
#endif
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::DataStructures::Location
A Location defines a local position w.r.t.
Definition: Location.h:39
SurgSim::Physics::ContactConstraintGeneration::m_logger
std::shared_ptr< SurgSim::Framework::Logger > m_logger
The logger for this class.
Definition: ContactConstraintGeneration.h:73
SURGSIM_CLASSNAME
#define SURGSIM_CLASSNAME(ClassName)
Declare the class name of a class with the appropriate function header, do not use quotes...
Definition: Macros.h:21
Macros.h
SurgSim::Physics::ContactConstraintGeneration
Generate a constraint for every contact that was calculated.
Definition: ContactConstraintGeneration.h:59
SurgSim::Physics::Computation
Encapsulates a calculation over a selection of objects, needs to be subclassed to be used...
Definition: Computation.h:32
Computation.h