MURE
Loading...
Searching...
No Matches
SerpentHexagon.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef SERPENTHEXAGON_H
20#define SERPENTHEXAGON_H
21#include <vector>
22#include <cmath>
23#include <iosfwd>
24#include <string>
25
26using namespace std;
27#include "MathHexagon.hxx"
28#include "SerpentNode.hxx"
30
36namespace Serpent
37{
38
40
48class Hexagon: public MathHexagon, public Node
49{
50 public:
52
63 Hexagon(double HalfHeight = 0.005, double Side = 0.01, int Sign = - 1);
65
76 Hexagon(const char *Infinite, double Side = 0.01, int Sign = - 1);
77 Hexagon(const Hexagon &h);
78
83 string Print() override;
85 int GetMonoSurfaceType() override;
87
88 protected :
89 Hexagon *CreateNewInstance(int sign = 1) override;
90
91 Hexagon(double HalfHeight, double Side, int Sign, bool Infinite);
92
93 void ReplaceMathShape();
94
96};
97
98}
99
100
101#endif // SERPENTHEXAGON_H
#define sign(a)
Definition GenericReactorAssembly.cxx:43
Header file for MathHexagon class.
Header file for Serpent::Node class.
Header file for SerpentSurfaceCard class.
Regular hexagon Shape of a given height.
Definition MathHexagon.hxx:49
SerpentSurfaceCard class print a mathematical surface in Serpent output format.
Definition SerpentSurfaceCard.hxx:45
Regular hexagon Shape of a given height.
Definition SerpentHexagon.hxx:49
Hexagon * CreateNewInstance(int sign=1) override
a new Hexagon instance.
Definition SerpentHexagon.cxx:221
void ReplaceMathShape()
Replace MathShape leaf by Serpent Shape.
Definition SerpentHexagon.cxx:67
SerpentSurfaceCard * GetSurfaceCard() override
return the surface card for a Serpent hexagon
Definition SerpentHexagon.cxx:171
void DefineSurface(SerpentSurfaceCard *&S)
Define single surface card when possible for Serpent (hexxc, hexxprism, ...)
Definition SerpentHexagon.cxx:178
string Print() override
Print the Hexagon surface in Serpent cell.
Definition SerpentHexagon.cxx:143
int GetMonoSurfaceType() override
return 0=general hexagon, 1=X-Hexagon, 2=Y-Hexagon
Definition SerpentHexagon.cxx:118
Node allows to construct Union or Intersection of Shape.
Definition SerpentNode.hxx:50
the namespace use to couple MURE and Serpent
the namespace of the Standard C++

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024