/usr/include/vtk-7.1/vtkLSDynaPart.h is in libvtk7-dev 7.1.1+dfsg1-2.
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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkLSDynaPart.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.
=========================================================================*/
#ifndef vtkLSDynaPart_h
#define vtkLSDynaPart_h
#include "vtkIOLSDynaModule.h" // For export macro
#include "vtkObject.h"
#include "LSDynaMetaData.h" //needed for lsdyna types
#include "vtkStdString.h" //needed for string
class vtkUnstructuredGrid;
class vtkPoints;
class VTKIOLSDYNA_EXPORT vtkLSDynaPart: public vtkObject
{
public:
static vtkLSDynaPart *New();
vtkTypeMacro(vtkLSDynaPart,vtkObject);
virtual void PrintSelf(ostream &os, vtkIndent indent);
//Description: Set the type of the part
void SetPartType(int type);
//Description: Returns the type of the part
LSDynaMetaData::LSDYNA_TYPES PartType() const { return Type; }
//Description: Returns if the type of the part is considered valid
bool hasValidType() const;
vtkIdType GetUserMaterialId() const { return UserMaterialId; }
vtkIdType GetPartId() const { return PartId; }
bool HasCells() const;
//Setup the part with some basic information about what it holds
void InitPart(vtkStdString name,
const vtkIdType& partId,
const vtkIdType& userMaterialId,
const vtkIdType& numGlobalPoints,
const int& sizeOfWord);
//Reserves the needed space in memory for this part
//that way we never over allocate memory
void AllocateCellMemory(const vtkIdType& numCells, const vtkIdType& cellLen);
//Add a cell to the part
void AddCell(const int& cellType, const vtkIdType& npts, vtkIdType conn[8]);
//Description:
//Setups the part cell topology so that we can cache information
//between timesteps.
void BuildToplogy();
//Description:
//Returns if the toplogy for this part has been constructed
bool IsTopologyBuilt() const { return TopologyBuilt; }
//Description:
//Constructs the grid for this part and returns it.
vtkUnstructuredGrid* GenerateGrid();
//Description:
//allows the part to store dead cells
void EnableDeadCells(const int& deadCellsAsGhostArray);
//Description:
//removes the dead cells array if it exists from the grid
void DisableDeadCells();
//Description:
//We set cells as dead to make them not show up during rendering
void SetCellsDeadState(unsigned char *dead, const vtkIdType &size);
//Description:
//allows the part to store user cell ids
void EnableCellUserIds();
//Description:
//Set the user ids for the cells of this grid
void SetNextCellUserIds(const vtkIdType& value);
//Description:
//Called to init point filling for a property
//is also able to set the point position of the grid too as that
//is stored as a point property
void AddPointProperty(const char* name, const vtkIdType& numComps,
const bool& isIdTypeProperty, const bool &isProperty,
const bool& isGeometryPoints);
//Description:
//Given a chunk of point property memory copy it to the correct
//property on the part
void ReadPointBasedProperty(float *data,
const vtkIdType& numTuples,
const vtkIdType& numComps,
const vtkIdType& currentGlobalPointIndex);
void ReadPointBasedProperty(double *data,
const vtkIdType& numTuples,
const vtkIdType& numComps,
const vtkIdType& currentGlobalPointIndex);
//Description:
//Adds a property to the part
void AddCellProperty(const char* name, const int& offset, const int& numComps);
//Description:
//Given the raw data converts it to be the properties for this part
//The cell properties are woven together as a block for each cell
void ReadCellProperties(float *cellProperties, const vtkIdType& numCells,
const vtkIdType &numPropertiesInCell);
void ReadCellProperties(double *cellsProperties, const vtkIdType& numCells,
const vtkIdType &numPropertiesInCell);
//Description:
//Get the id of the lowest global point this part needs
//Note: Presumes topology has been built already
vtkIdType GetMinGlobalPointId() const;
//Description:
//Get the id of the largest global point this part needs
//Note: Presumes topology has been built already
vtkIdType GetMaxGlobalPointId() const;
protected:
vtkLSDynaPart();
~vtkLSDynaPart();
vtkUnstructuredGrid* RemoveDeletedCells();
void BuildUniquePoints();
void BuildCells();
void GetPropertyData(const char* name, const vtkIdType &numComps,
const bool &isIdTypeArray, const bool& isProperty, const bool& isGeometry);
template<typename T>
void AddPointInformation(T *buffer,T *pointData,
const vtkIdType& numTuples,
const vtkIdType& numComps,
const vtkIdType& currentGlobalPointIndex);
//basic info about the part
LSDynaMetaData::LSDYNA_TYPES Type;
vtkStdString Name;
vtkIdType UserMaterialId;
vtkIdType PartId;
vtkIdType NumberOfCells;
vtkIdType NumberOfPoints;
vtkIdType NumberOfGlobalPoints;
bool DeadCellsAsGhostArray;
bool HasDeadCells;
bool TopologyBuilt;
bool DoubleBased;
vtkUnstructuredGrid* Grid;
vtkUnstructuredGrid* ThresholdGrid;
vtkPoints* Points;
class InternalCells;
InternalCells *Cells;
class InternalCellProperties;
InternalCellProperties *CellProperties;
class InternalPointsUsed;
class DensePointsUsed;
class SparsePointsUsed;
InternalPointsUsed *GlobalPointsUsed;
//used when reading properties
class InternalCurrentPointInfo;
InternalCurrentPointInfo *CurrentPointPropInfo;
private:
vtkLSDynaPart( const vtkLSDynaPart& ) VTK_DELETE_FUNCTION;
void operator = ( const vtkLSDynaPart& ) VTK_DELETE_FUNCTION;
};
#endif // VTKLSDYNAPART
|