• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

step/stepcore

  • sources
  • kde-4.12
  • kdeedu
  • step
  • stepcore
gravitation.h
Go to the documentation of this file.
1 /* This file is part of StepCore library.
2  Copyright (C) 2007 Vladimir Kuznetsov <ks.vladimir@gmail.com>
3 
4  StepCore library is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  StepCore library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with StepCore; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
23 #ifndef STEPCORE_GRAVITATION_H
24 #define STEPCORE_GRAVITATION_H
25 
26 #include "world.h"
27 #include "object.h"
28 #include "constants.h"
29 
30 namespace StepCore
31 {
32 
33 class GravitationForce;
34 class WeightForce;
35 
39 class GravitationForceErrors: public ObjectErrors
40 {
41  STEPCORE_OBJECT(GravitationForceErrors)
42 
43 public:
45  GravitationForceErrors(Item* owner = NULL)
46  : ObjectErrors(owner), _gravitationConstVariance(0) {}
47 
49  GravitationForce* gravitationForce() const;
50 
52  double gravitationConstVariance() const { return _gravitationConstVariance; }
54  void setGravitationConstVariance(double gravitationConstVariance) {
55  _gravitationConstVariance = gravitationConstVariance; }
56 
57 protected:
58  double _gravitationConstVariance;
59  friend class GravitationForce;
60 };
61 
80 class GravitationForce: public Item, public Force
81 {
82  STEPCORE_OBJECT(GravitationForce)
83 
84 public:
86  GravitationForce(double gravitationConst = Constants::Gravitational);
87 
88  void calcForce(bool calcVariances);
89 
91  double gravitationConst() const { return _gravitationConst; }
93  void setGravitationConst(double gravitationConst) { _gravitationConst = gravitationConst; }
94 
96  GravitationForceErrors* gravitationForceErrors() {
97  return static_cast<GravitationForceErrors*>(objectErrors()); }
98 
99 protected:
100  ObjectErrors* createObjectErrors() { return new GravitationForceErrors(this); }
101 
102  double _gravitationConst;
103 };
104 
108 class WeightForceErrors: public ObjectErrors
109 {
110  STEPCORE_OBJECT(WeightForceErrors)
111 
112 public:
114  WeightForceErrors(Item* owner = NULL)
115  : ObjectErrors(owner), _weightConstVariance(0) {}
116 
118  WeightForce* weightForce() const;
119 
121  double weightConstVariance() const { return _weightConstVariance; }
123  void setWeightConstVariance(double weightConstVariance) {
124  _weightConstVariance = weightConstVariance; }
125 
126 protected:
127  double _weightConstVariance;
128  friend class WeightForce;
129 };
130 
145 class WeightForce: public Item, public Force
146 {
147  STEPCORE_OBJECT(WeightForce)
148 
149 public:
151  WeightForce(double weightConst = Constants::WeightAccel);
152 
153  void calcForce(bool calcVariances);
154 
156  double weightConst() const { return _weightConst; }
158  void setWeightConst(double weightConst) { _weightConst = weightConst; }
159 
161  WeightForceErrors* weightForceErrors() {
162  return static_cast<WeightForceErrors*>(objectErrors()); }
163 
164 protected:
165  ObjectErrors* createObjectErrors() { return new WeightForceErrors(this); }
166 
167  double _weightConst;
168 };
169 
170 } // namespace StepCore
171 
172 #endif
173 
StepCore::GravitationForceErrors::_gravitationConstVariance
double _gravitationConstVariance
Definition: gravitation.h:58
StepCore::WeightForce::weightConst
double weightConst() const
Get weight constant.
Definition: gravitation.h:156
StepCore::GravitationForce
Newton gravitational force.
Definition: gravitation.h:80
StepCore::WeightForceErrors::weightForce
WeightForce * weightForce() const
Get owner as WeightForce.
StepCore::WeightForce
Weight force (constant gravitational force).
Definition: gravitation.h:145
StepCore::WeightForce::WeightForce
WeightForce(double weightConst=Constants::WeightAccel)
Constructs WeightForce.
Definition: gravitation.cc:100
StepCore::GravitationForceErrors::setGravitationConstVariance
void setGravitationConstVariance(double gravitationConstVariance)
Set gravitationConst variance.
Definition: gravitation.h:54
StepCore::GravitationForce::GravitationForce
GravitationForce(double gravitationConst=Constants::Gravitational)
Constructs GravitationForce.
Definition: gravitation.cc:58
constants.h
Constants class.
StepCore::GravitationForceErrors::GravitationForceErrors
GravitationForceErrors(Item *owner=NULL)
Constructs GravitationForceErrors.
Definition: gravitation.h:45
world.h
Item, Body, Force and Tool interfaces, World class.
StepCore::GravitationForceErrors::gravitationForce
GravitationForce * gravitationForce() const
Get owner as GravitationForce.
StepCore::WeightForce::_weightConst
double _weightConst
Definition: gravitation.h:167
StepCore::WeightForceErrors
Errors object for WeightForce.
Definition: gravitation.h:108
StepCore::GravitationForce::_gravitationConst
double _gravitationConst
Definition: gravitation.h:102
StepCore::GravitationForce::createObjectErrors
ObjectErrors * createObjectErrors()
Definition: gravitation.h:100
StepCore::WeightForce::createObjectErrors
ObjectErrors * createObjectErrors()
Definition: gravitation.h:165
StepCore::Item
The root class for any world items (bodies and forces)
Definition: world.h:69
StepCore::ObjectErrors
Base class for all errors objects.
Definition: world.h:49
StepCore::GravitationForce::setGravitationConst
void setGravitationConst(double gravitationConst)
Set gravitational constant.
Definition: gravitation.h:93
StepCore::Constants::Gravitational
static const double Gravitational
Newtonian constant of gravitation [N*m^2/kg^2].
Definition: constants.h:51
StepCore::GravitationForce::gravitationForceErrors
GravitationForceErrors * gravitationForceErrors()
Get (and possibly create) GravitationForceErrors object.
Definition: gravitation.h:96
StepCore::WeightForceErrors::WeightForceErrors
WeightForceErrors(Item *owner=NULL)
Constructs WeightForceErrors.
Definition: gravitation.h:114
StepCore::Force
Interface for forces.
Definition: world.h:199
StepCore::WeightForceErrors::setWeightConstVariance
void setWeightConstVariance(double weightConstVariance)
Set weightConst variance.
Definition: gravitation.h:123
StepCore::WeightForceErrors::_weightConstVariance
double _weightConstVariance
Definition: gravitation.h:127
StepCore::GravitationForceErrors::gravitationConstVariance
double gravitationConstVariance() const
Get gravitationConst variance.
Definition: gravitation.h:52
object.h
Object, MetaObject and MetaProperty classes.
StepCore::WeightForce::weightForceErrors
WeightForceErrors * weightForceErrors()
Get (and possibly create) WeightForceErrors object.
Definition: gravitation.h:161
StepCore::GravitationForceErrors
Errors object for GravitationForce.
Definition: gravitation.h:39
StepCore::Item::objectErrors
ObjectErrors * objectErrors()
Get existing ObjectErrors or try to create it.
Definition: world.cc:67
StepCore::WeightForce::calcForce
void calcForce(bool calcVariances)
Calculate force.
Definition: gravitation.cc:107
StepCore::WeightForce::setWeightConst
void setWeightConst(double weightConst)
Set weight constant.
Definition: gravitation.h:158
StepCore::Constants::WeightAccel
static const double WeightAccel
Standard acceleration of gravity (free fall on Earth) [m/s^2].
Definition: constants.h:66
StepCore::GravitationForce::calcForce
void calcForce(bool calcVariances)
Calculate force.
Definition: gravitation.cc:65
StepCore::ObjectErrors::owner
Item * owner() const
Get the owner of ObjectErrors.
Definition: world.h:58
STEPCORE_OBJECT
#define STEPCORE_OBJECT(_className)
Definition: object.h:49
StepCore::WeightForceErrors::weightConstVariance
double weightConstVariance() const
Get weightConst variance.
Definition: gravitation.h:121
StepCore::GravitationForce::gravitationConst
double gravitationConst() const
Get gravitational constant.
Definition: gravitation.h:91
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:43:06 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

step/stepcore

Skip menu "step/stepcore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal