/usr/include/vtk-5.8/vtkAssemblyPath.h is in libvtk5-dev 5.8.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkAssemblyPath.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkAssemblyPath - a list of nodes that form an assembly path
// .SECTION Description
// vtkAssemblyPath represents an ordered list of assembly nodes that
// represent a fully evaluated assembly path. This class is used primarily
// for picking. Note that the use of this class is to add one or more
// assembly nodes to form the path. (An assembly node consists of an instance
// of vtkProp and vtkMatrix4x4, the matrix may be NULL.) As each node is
// added, the matrices are concatenated to create a final, evaluated matrix.
// .SECTION See Also
// vtkAssemblyNode vtkAssembly vtkActor vtkMatrix4x4 vtkProp vtkAbstractPicker
#ifndef __vtkAssemblyPath_h
#define __vtkAssemblyPath_h
#include "vtkCollection.h"
#include "vtkAssemblyNode.h" // used for inlines
class vtkMatrix4x4;
class vtkTransform;
class vtkProp;
class VTK_COMMON_EXPORT vtkAssemblyPath : public vtkCollection
{
public:
vtkTypeMacro(vtkAssemblyPath,vtkCollection);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Instantiate empty path with identify matrix.
static vtkAssemblyPath *New();
// Description:
// Convenience method adds a prop and matrix together,
// creating an assembly node transparently. The matrix
// pointer m may be NULL. Note: that matrix is the one,
// if any, associated with the prop.
void AddNode(vtkProp *p, vtkMatrix4x4 *m);
// Description:
// Get the next assembly node in the list. The node returned
// contains a pointer to a prop and a 4x4 matrix. The matrix
// is evaluated based on the preceding assembly hierarchy
// (i.e., the matrix is not necessarily as the same as the
// one that was added with AddNode() because of the
// concatenation of matrices in the assembly hierarchy).
vtkAssemblyNode *GetNextNode();
// Description:
// Get the first assembly node in the list. See the comments for
// GetNextNode() regarding the contents of the returned node. (Note: This
// node corresponds to the vtkProp associated with the vtkRenderer.
vtkAssemblyNode *GetFirstNode();
// Description:
// Get the last assembly node in the list. See the comments
// for GetNextNode() regarding the contents of the returned node.
vtkAssemblyNode *GetLastNode();
// Description:
// Delete the last assembly node in the list. This is like
// a stack pop.
void DeleteLastNode();
// Description:
// Perform a shallow copy (reference counted) on the
// incoming path.
void ShallowCopy(vtkAssemblyPath *path);
// Description:
// Override the standard GetMTime() to check for the modified times
// of the nodes in this path.
virtual unsigned long GetMTime();
//BTX
// Description:
// Reentrant safe way to get an object in a collection. Just pass the
// same cookie back and forth.
vtkAssemblyNode *GetNextNode(vtkCollectionSimpleIterator &cookie) {
return static_cast<vtkAssemblyNode *>(this->GetNextItemAsObject(cookie));};
//ETX
protected:
vtkAssemblyPath();
~vtkAssemblyPath();
void AddNode(vtkAssemblyNode *n); //Internal method adds assembly node
vtkTransform *Transform; //Used to perform matrix concatentation
vtkProp *TransformedProp; //A transformed prop used to do the rendering
private:
// hide the standard AddItem from the user and the compiler.
void AddItem(vtkObject *o) { this->vtkCollection::AddItem(o); };
private:
vtkAssemblyPath(const vtkAssemblyPath&); // Not implemented.
void operator=(const vtkAssemblyPath&); // Not implemented.
};
#endif
|