Develop Biology
The language of life
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) 2021 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
25#include "Identifiable.h"
27
28namespace bio {
29namespace physical {
30
36class Symmetry :
37 virtual public Identifiable< StandardDimension >,
38 Class< Symmetry >
39{
40public:
41
47
48
51 Symmetry();
52
58 Name name,
59 Name type
60 );
61
67 Name name,
68 SymmetryType type
69 );
70
76 StandardDimension id,
77 Name type
78 );
79
85 StandardDimension id,
86 SymmetryType type
87 );
88
92 virtual ~Symmetry();
93
99
104 void SetType(SymmetryType type);
105
110 void SetType(Name type);
111
116 virtual void SetValue(const ByteStream& bytes);
117
122 virtual const ByteStream& GetValue() const;
123
128 virtual ByteStream* AccessValue();
129
130protected:
131 Name m_name;
134};
135
136} //physical namespace
137} //bio namespace
const Identifiable< SymmetryType > & GetType() const
virtual void SetValue(const ByteStream &bytes)
void SetType(SymmetryType type)
Definition: Symmetry.cpp:110
ByteStream m_value
Definition: Symmetry.h:60
Symmetry(Name name, Name type)
Definition: Symmetry.cpp:37
virtual const ByteStream & GetValue() const
Definition: Symmetry.cpp:125
Symmetry(Name name, SymmetryType type)
virtual ByteStream * AccessValue()
Definition: Symmetry.cpp:130
BIO_DISAMBIGUATE_ALL_CLASS_METHODS(physical, Symmetry) Symmetry()
Identifiable< SymmetryType > m_type
Definition: Symmetry.h:133
Definition: Cell.h:31
const char * Name
Definition: Types.h:46