File: transformation.cpp

package info (click to toggle)
cgal 6.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 144,952 kB
  • sloc: cpp: 811,597; ansic: 208,576; sh: 493; python: 411; makefile: 286; javascript: 174
file content (32 lines) | stat: -rw-r--r-- 1,003 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <CGAL/Exact_integer.h>
#include <CGAL/Extended_homogeneous.h>
#include <CGAL/Nef_polyhedron_3.h>
#include <CGAL/IO/Nef_polyhedron_iostream_3.h>
#include <cassert>


typedef CGAL::Extended_homogeneous<CGAL::Exact_integer>  Kernel;
typedef CGAL::Nef_polyhedron_3<Kernel>  Nef_polyhedron;
typedef Nef_polyhedron::Plane_3  Plane_3;
typedef Nef_polyhedron::Vector_3  Vector_3;
typedef Nef_polyhedron::Aff_transformation_3  Aff_transformation_3;

int main() {

  Nef_polyhedron N(Plane_3(0,1,0,0));
  Aff_transformation_3 transl(CGAL::TRANSLATION, Vector_3(5, 7, 9));
  Aff_transformation_3 rotx90(1,0,0,
                              0,0,-1,
                              0,1,0,
                              1);
  Aff_transformation_3 scale(CGAL::SCALING, 3, 2);

  N.transform(transl);
  assert(N == Nef_polyhedron(Plane_3(0,1,0,-7)));
  N.transform(rotx90);
  assert(N == Nef_polyhedron(Plane_3(0,0,1,-7)));
  N.transform(scale);
  assert(N == Nef_polyhedron(Plane_3(0,0,2,-21)));

  return 0;
}