3D Human Airway Tree
Program generuje ludzkie drzewo oskrzelowe
vtkIntersectionPolyDataFilter.h
Idź do dokumentacji tego pliku.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkIntersectionPolyDataFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 // .NAME vtkIntersectionPolyDataFilter
16 // .SECTION Description
17 //
18 // vtkIntersectionPolyDataFilter computes the intersection between two
19 // vtkPolyData objects. The first output is a set of lines that marks
20 // the intersection of the input vtkPolyData objects. The second and
21 // third outputs are the first and second input vtkPolyData,
22 // respectively. Optionally, the two output vtkPolyData can be split
23 // along the intersection lines.
24 //
25 // Written by Chris Weigle and Cory Quammen, The University of North
26 // Carolina at Chapel Hill.
27 
28 #ifndef __vtkIntersectionPolyDataFilter_h
29 #define __vtkIntersectionPolyDataFilter_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 
33 
34 class vtkIntersectionPolyDataFilter : public vtkPolyDataAlgorithm
35 {
36 public:
38  vtkTypeMacro(vtkIntersectionPolyDataFilter, vtkPolyDataAlgorithm);
39  virtual void PrintSelf(ostream &os, vtkIndent indent);
40 
41  // Description:
42  // If on, the second output will be the first input mesh split by the
43  // intersection with the second input mesh. Defaults to on.
47 
48  // Description:
49  // If on, the third output will be the second input mesh split by the
50  // intersection with the first input mesh. Defaults to on.
54 
55  // Description:
56  // Given two triangles defined by points (p1, q1, r1) and (p2, q2,
57  // r2), returns whether the two triangles intersect. If they do,
58  // the endpoints of the line forming the intersection are returned
59  // in pt1 and pt2. The parameter coplanar is set to 1 if the
60  // triangles are coplanar and 0 otherwise.
61  static int TriangleTriangleIntersection(double p1[3], double q1[3], double r1[3],
62  double p2[3], double q2[3], double r2[3],
63  int &coplanar, double pt1[3], double pt2[3]);
64 
65 protected:
68 
69  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
70  int FillInputPortInformation(int, vtkInformation*);
71 
74 
75 private:
77  void operator=(const vtkIntersectionPolyDataFilter&); // no implementation
78 
79  class Impl;
80 };
81 
82 
83 #endif // __vtkIntersectionPolyDataFilter_h