libbio
Loading...
Searching...
No Matches
Attraction.h
Go to the documentation of this file.
1/*
2 * This file is a part of the Biology project by eons LLC.
3 * Biology (aka Develop Biology) is a framework for approaching software
4 * development from a natural sciences perspective.
5 *
6 * Copyright (C) 2023 Séon O'Shannon & eons LLC
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as
10 * published by the Free Software Foundation, either version 3 of the
11 * License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
28
29namespace bio {
30namespace physical {
31
39template < typename DIMENSION >
41 public physical::Class< Attraction< DIMENSION > >,
42 virtual public Identifiable< DIMENSION >
43{
44public:
45
46 typedef double Force;
47
49 const DIMENSION& dimension = 0, //Invalid Id across DIMENSIONS
50 const Force strength = 0.0,
52 ):
53 physical::Class< Attraction< DIMENSION > >(
54 this,
55 Pointer< ::bio::physical::Symmetry >()
56 ),
60 {}
61
67 {
69 }
70
75 {
76 return m_strength;
77 }
78
84 bool operator==(const Attraction& other) const
85 {
86 return m_dimension == other.m_dimension;
87 }
88
89protected:
92};
93
94} //physical namespace
95} //bio namespace
Definition Pointer.h:115
Definition Attraction.h:43
bool operator==(const Attraction &other) const
Definition Attraction.h:84
Attraction(const DIMENSION &dimension=0, const Force strength=0.0, Pointer< Perspective< DIMENSION > > perspective=NULL)
Definition Attraction.h:48
double Force
Definition Attraction.h:46
DIMENSION m_dimension
Definition Attraction.h:90
Force GetForce() const
Definition Attraction.h:74
void SetForce(const Force strength)
Definition Attraction.h:66
Force m_strength
Definition Attraction.h:91
Definition physical/common/Class.h:56
Definition Identifiable.h:53
Definition physical/symmetry/Symmetry.h:41
Definition FinalCell.h:29