STLtriangle.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | foam-extend: Open Source CFD
4  \\ / O peration | Version: 3.2
5  \\ / A nd | Web: http://www.foam-extend.org
6  \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9  This file is part of foam-extend.
10 
11  foam-extend is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by the
13  Free Software Foundation, either version 3 of the License, or (at your
14  option) any later version.
15 
16  foam-extend is distributed in the hope that it will be useful, but
17  WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::STLtriangle
26 
27 Description
28  A triangle representation for STL files.
29 
30 SourceFiles
31  STLtriangleI.H
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef STLtriangle_H
36 #define STLtriangle_H
37 
38 #include "STLpoint.H"
39 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 namespace Foam
43 {
44 
45 /*---------------------------------------------------------------------------*\
46  Class STLtriangle Declaration
47 \*---------------------------------------------------------------------------*/
48 
49 class STLtriangle
50 {
51  // Private data
52 
54  unsigned short region_;
55 
56 
57 public:
58 
59  // Constructors
60 
61  //- Construct null
62  inline STLtriangle();
63 
64  //- Construct from components
65  inline STLtriangle
66  (
67  const STLpoint& normal,
68  const STLpoint& a,
69  const STLpoint& b,
70  const STLpoint& c,
71  unsigned short region
72  );
73 
74  //- Construct from istream (read binary)
75  inline STLtriangle(istream&);
76 
77 
78  // Member Functions
79 
80  // Access
81 
82  inline const STLpoint& a() const;
83  inline const STLpoint& b() const;
84  inline const STLpoint& c() const;
85  inline unsigned short region() const;
86 
87  // Read
88 
89  //- Read from istream (binary)
90  inline void read(istream&);
91 
92  // Write
93 
94  //- Write to istream (binary)
95  inline void write(ostream&);
96 
97 
98  // Ostream operator
99 
100  inline friend Ostream& operator<<(Ostream&, const STLtriangle&);
101 };
102 
103 
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
105 
106 } // End namespace Foam
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 #include "STLtriangleI.H"
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 #endif
115 
116 // ************************************************************************* //
Foam::STLtriangle::region
unsigned short region() const
Definition: STLtriangleI.H:82
Foam::STLtriangle::normal_
STLpoint normal_
The face normal, many programs write zore or other junk.
Definition: STLtriangle.H:52
Foam::STLtriangle::operator<<
friend Ostream & operator<<(Ostream &, const STLtriangle &)
Definition: STLtriangleI.H:103
Foam::STLtriangle::b_
STLpoint b_
Definition: STLtriangle.H:52
STLtriangleI.H
Foam::STLtriangle::write
void write(ostream &)
Write to istream (binary)
Definition: STLtriangleI.H:95
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::STLtriangle::b
const STLpoint & b() const
Definition: STLtriangleI.H:72
Foam::STLtriangle::c
const STLpoint & c() const
Definition: STLtriangleI.H:77
Foam::STLtriangle::region_
unsigned short region_
Definition: STLtriangle.H:53
Foam::STLtriangle
A triangle representation for STL files.
Definition: STLtriangle.H:48
STLpoint.H
Foam::STLpoint
A vertex point representation for STL files.
Definition: STLpoint.H:48
Foam::STLtriangle::read
void read(istream &)
Read from istream (binary)
Definition: STLtriangleI.H:88
Foam::STLtriangle::a_
STLpoint a_
The three points defining the triangle.
Definition: STLtriangle.H:52
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:53
Foam::STLtriangle::STLtriangle
STLtriangle()
Construct null.
Definition: STLtriangleI.H:36
Foam::STLtriangle::a
const STLpoint & a() const
Definition: STLtriangleI.H:67
normal
A normal distribution model.
Foam::STLtriangle::c_
STLpoint c_
Definition: STLtriangle.H:52