opensurgsim
RotationVectorConstraint.h
1 // This file is a part of the OpenSurgSim project.
2 // Copyright 2013, SimQuest Solutions Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 #ifndef SURGSIM_PHYSICS_ROTATIONVECTORCONSTRAINT_H
17 #define SURGSIM_PHYSICS_ROTATIONVECTORCONSTRAINT_H
18 
19 #include "SurgSim/Physics/Constraint.h"
20 
21 namespace SurgSim
22 {
23 
24 namespace Physics
25 {
26 
30 {
31 public:
33  ConstraintType constraintType,
34  std::shared_ptr<ConstraintData> data,
35  std::shared_ptr<Representation> representation0,
36  const SurgSim::DataStructures::Location& location0,
37  std::shared_ptr<Representation> representation1,
38  const SurgSim::DataStructures::Location& location1);
39 
41  virtual ~RotationVectorConstraint();
42 
43 protected:
49  void doBuild(double dt,
50  const ConstraintData& data,
51  MlcpPhysicsProblem* mlcpPhysicsProblem,
52  size_t indexOfRepresentation0,
53  size_t indexOfRepresentation1,
54  size_t indexOfConstraint) override;
55 };
56 
57 }; // namespace Physics
58 
59 }; // namespace SurgSim
60 
61 #endif // SURGSIM_PHYSICS_ROTATIONVECTORCONSTRAINT_H
Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
virtual ~RotationVectorConstraint()
Destructor.
Definition: RotationVectorConstraint.cpp:38
A description of a physical mixed LCP system to be solved.
Definition: MlcpPhysicsProblem.h:43
A Location defines a local position w.r.t.
Definition: Location.h:39
Base class for all CosntraintData Derived classes should be specific to a given constraint.
Definition: ConstraintData.h:27
Specific class for rotation vector constraints.
Definition: RotationVectorConstraint.h:29
Base class for all physics constraints. Contains data specific to the constraint and a pair of implem...
Definition: Constraint.h:34
void doBuild(double dt, const ConstraintData &data, MlcpPhysicsProblem *mlcpPhysicsProblem, size_t indexOfRepresentation0, size_t indexOfRepresentation1, size_t indexOfConstraint) override
Definition: RotationVectorConstraint.cpp:42