MPQC
2.3.1
src
lib
math
isosurf
vertex.h
1
//
2
// vertex.h
3
//
4
// Copyright (C) 1996 Limit Point Systems, Inc.
5
//
6
// Author: Curtis Janssen <cljanss@limitpt.com>
7
// Maintainer: LPS
8
//
9
// This file is part of the SC Toolkit.
10
//
11
// The SC Toolkit is free software; you can redistribute it and/or modify
12
// it under the terms of the GNU Library General Public License as published by
13
// the Free Software Foundation; either version 2, or (at your option)
14
// any later version.
15
//
16
// The SC Toolkit is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU Library General Public License for more details.
20
//
21
// You should have received a copy of the GNU Library General Public License
22
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24
//
25
// The U.S. Government is granted a limited license as per AL 91-7.
26
//
27
28
#ifndef _math_isosurf_vertex_h
29
#define _math_isosurf_vertex_h
30
31
#ifdef __GNUC__
32
#pragma interface
33
#endif
34
35
#include <stdlib.h>
36
#include <math.h>
37
#include <util/ref/ref.h>
38
#include <math/scmat/matrix.h>
39
#include <math/isosurf/volume.h>
40
#include <math/isosurf/implicit.h>
41
42
namespace
sc {
43
44
class
Vertex
:
public
RefCount
{
45
private
:
46
SCVector3
_point;
47
SCVector3
*_normal;
// _normal is optional
48
public
:
49
Vertex
();
50
Vertex
(
const
SCVector3
&
point
,
const
SCVector3
& normal);
51
Vertex
(
const
SCVector3
&
point
);
52
~
Vertex
();
53
const
SCVector3
&
point
()
const
{
return
_point; }
54
int
has_normal()
const
{
return
_normal != 0; }
55
const
SCVector3
& normal()
const
{
return
*_normal; }
56
void
set_point(
const
SCVector3
&p);
57
void
set_normal(
const
SCVector3
&p);
58
operator
SCVector3
&();
59
60
void
print(std::ostream&o=
ExEnv::out0
());
61
};
62
63
}
64
65
#endif
66
67
// Local Variables:
68
// mode: c++
69
// c-file-style: "CLJ"
70
// End:
sc::Vertex
Definition:
vertex.h:44
point
Definition:
implicit.h:5
sc::SCVector3
Definition:
vector3.h:45
sc::ExEnv::out0
static std::ostream & out0()
Return an ostream that writes from node 0.
sc::RefCount
The base class for all reference counted objects.
Definition:
ref.h:194
Generated at Sun Jan 26 2020 23:33:05 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.16.