Simbody
3.4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
GeneralForceSubsystem.h
Go to the documentation of this file.
1
#ifndef SimTK_SIMBODY_GENERAL_FORCE_ELEMENTS_H_
2
#define SimTK_SIMBODY_GENERAL_FORCE_ELEMENTS_H_
3
4
/* -------------------------------------------------------------------------- *
5
* Simbody(tm) *
6
* -------------------------------------------------------------------------- *
7
* This is part of the SimTK biosimulation toolkit originating from *
8
* Simbios, the NIH National Center for Physics-Based Simulation of *
9
* Biological Structures at Stanford, funded under the NIH Roadmap for *
10
* Medical Research, grant U54 GM072970. See https://simtk.org/home/simbody. *
11
* *
12
* Portions copyright (c) 2006-12 Stanford University and the Authors. *
13
* Authors: Michael Sherman *
14
* Contributors: *
15
* *
16
* Licensed under the Apache License, Version 2.0 (the "License"); you may *
17
* not use this file except in compliance with the License. You may obtain a *
18
* copy of the License at http://www.apache.org/licenses/LICENSE-2.0. *
19
* *
20
* Unless required by applicable law or agreed to in writing, software *
21
* distributed under the License is distributed on an "AS IS" BASIS, *
22
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
23
* See the License for the specific language governing permissions and *
24
* limitations under the License. *
25
* -------------------------------------------------------------------------- */
26
27
#include "
simbody/internal/common.h
"
28
#include "
simbody/internal/ForceSubsystem.h
"
29
30
#include <cassert>
31
32
namespace
SimTK {
33
34
class
MultibodySystem;
35
class
SimbodyMatterSubsystem;
36
class
Force;
37
47
class
SimTK_SIMBODY_EXPORT
GeneralForceSubsystem
:
public
ForceSubsystem
{
48
public
:
49
GeneralForceSubsystem
();
50
explicit
GeneralForceSubsystem
(
MultibodySystem
&);
51
64
ForceIndex
adoptForce(
Force
& force);
65
68
int
getNumForces()
const
;
69
71
const
Force
& getForce(
ForceIndex
index)
const
;
72
74
Force
& updForce(
ForceIndex
index);
75
78
bool
isForceDisabled(
const
State
& state,
ForceIndex
index)
const
;
79
86
void
setForceIsDisabled
87
(
State
& state,
ForceIndex
index,
bool
shouldBeDisabled)
const
;
88
93
const
MultibodySystem
& getMultibodySystem()
const
;
94
// don't show in Doxygen docs
96
SimTK_PIMPL_DOWNCAST
(
GeneralForceSubsystem
,
ForceSubsystem
);
98
private
:
99
// OBSOLETE; use getNumForces() instead.
100
int
getNForces()
const
{
return
getNumForces();}
101
102
class
GeneralForceSubsystemRep& updRep();
103
const
GeneralForceSubsystemRep& getRep()
const
;
104
};
105
106
}
// namespace SimTK
107
108
#endif // SimTK_SIMBODY_GENERAL_FORCE_ELEMENTS_H_
Simbody
include
simbody
internal
GeneralForceSubsystem.h
Generated on Tue Dec 2 2014 13:13:23 for Simbody by
1.8.1.2