MPQC 2.3.1
util/render/transform.h
1//
2// transform.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 _util_render_transform_h
29#define _util_render_transform_h
30
31#include <iostream>
32
33#include <util/class/class.h>
34#include <util/keyval/keyval.h>
35#include <util/render/algebra3.h>
36
37namespace sc {
38
40 private:
41 mat4 transform_;
42 public:
43 Transform() { transform_ = identity3D(); }
44 Transform(const Ref<KeyVal>&);
45 ~Transform();
46 mat4& transform() { return transform_; }
47 void translate(double, double, double);
48 void translate(const vec3&);
49 void rotate(const vec3&, double angle_degrees);
50 void scale(double);
51 void print(std::ostream& = ExEnv::out0()) const;
52};
53
54}
55
56#endif
57
58// Local Variables:
59// mode: c++
60// c-file-style: "CLJ"
61// End:
Classes which need runtime information about themselves and their relationship to other classes can v...
Definition: class.h:244
static std::ostream & out0()
Return an ostream that writes from node 0.
A template class that maintains references counts.
Definition: ref.h:332
Definition: util/render/transform.h:39
void print(std::ostream &=ExEnv::out0()) const
Print the object.
Definition: algebra3.h:302
Definition: algebra3.h:104

Generated at Fri Dec 2 2022 21:09:13 for MPQC 2.3.1 using the documentation package Doxygen 1.9.4.