libbio
Loading...
Searching...
No Matches
chemical/symmetry/Symmetry.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) 2022 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
33
34namespace bio {
35namespace chemical {
36
50class Symmetry :
51 public chemical::Class< Symmetry >,
52 public Substance,
53 public physical::Symmetry,
54 public Covalent< LinearMotif< physical::Symmetry > >
55{
56public:
57
62
64 chemical,
66 filter::Chemical()
67 )
68
76 );
77
85 );
86
92 Id id,
94 );
95
100 Symmetry(
101 Id id,
103 );
104
108 virtual ~Symmetry();
109
114
119 virtual void SetMiscibility(const Miscibility& miscibility);
120
125
130 virtual void Recurse();
131
136 virtual void DoNotRecurse();
137
144
149 virtual void Realize();
150
153
154private:
155 void CommonConstructor();
156};
157
158} //chemical namespace
159} //bio namespace
#define BIO_DISAMBIGUATE_ALL_CLASS_METHODS(ns, caller)
Definition ClassMethodMacros.h:112
#define BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_COMMON_CONSTRUCTOR(ns, class,...)
Definition chemical/macro/ConstructorMacros.h:65
Definition Covalent.h:42
Definition Pointer.h:115
Definition String.h:55
Definition chemical/common/Class.h:52
Definition Miscibility.h:45
Definition Substance.h:47
Definition chemical/symmetry/Symmetry.h:55
Miscibility mMiscibility
Definition chemical/symmetry/Symmetry.h:152
virtual void Recurse()
Definition chemical/symmetry/Symmetry.cpp:129
static Properties GetClassProperties()
Definition chemical/symmetry/Symmetry.cpp:108
virtual void Realize()
Definition chemical/symmetry/Symmetry.cpp:144
virtual void SetMiscibility(const Miscibility &miscibility)
Definition chemical/symmetry/Symmetry.cpp:124
virtual bool IsRecursive() const
Definition chemical/symmetry/Symmetry.cpp:139
const Name & type
Definition chemical/symmetry/Symmetry.h:76
virtual const Miscibility & GetMiscibility() const
Definition chemical/symmetry/Symmetry.cpp:119
virtual void DoNotRecurse()
Definition chemical/symmetry/Symmetry.cpp:134
Definition physical/symmetry/Symmetry.h:41
Definition FinalCell.h:29