Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Common/vtkPoints.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00044 #ifndef __vtkPoints_h
00045 #define __vtkPoints_h
00046
00047 #include "vtkObject.h"
00048
00049 #include "vtkDataArray.h"
00050
00051 class vtkIdList;
00052 class vtkPoints;
00053
00054 class VTK_COMMON_EXPORT vtkPoints : public vtkObject
00055 {
00056 public:
00057
00058 static vtkPoints *New(int dataType);
00059
00060 static vtkPoints *New();
00061
00062 vtkTypeRevisionMacro(vtkPoints,vtkObject);
00063 void PrintSelf(ostream& os, vtkIndent indent);
00064
00066 virtual int Allocate(const vtkIdType sz, const vtkIdType ext=1000);
00067
00069 virtual void Initialize();
00070
00071 #ifndef VTK_REMOVE_LEGACY_CODE
00072
00073 vtkPoints* MakeObject();
00074 #endif
00075
00077
00083 virtual void SetData(vtkDataArray *);
00084 vtkDataArray *GetData() {return this->Data;};
00086
00089 virtual int GetDataType();
00090
00092
00093 virtual void SetDataType(int dataType);
00094 void SetDataTypeToBit() {this->SetDataType(VTK_BIT);};
00095 void SetDataTypeToChar() {this->SetDataType(VTK_CHAR);};
00096 void SetDataTypeToUnsignedChar() {this->SetDataType(VTK_UNSIGNED_CHAR);};
00097 void SetDataTypeToShort() {this->SetDataType(VTK_SHORT);};
00098 void SetDataTypeToUnsignedShort() {this->SetDataType(VTK_UNSIGNED_SHORT);};
00099 void SetDataTypeToInt() {this->SetDataType(VTK_INT);};
00100 void SetDataTypeToUnsignedInt() {this->SetDataType(VTK_UNSIGNED_INT);};
00101 void SetDataTypeToLong() {this->SetDataType(VTK_LONG);};
00102 void SetDataTypeToUnsignedLong() {this->SetDataType(VTK_UNSIGNED_LONG);};
00103 void SetDataTypeToFloat() {this->SetDataType(VTK_FLOAT);};
00104 void SetDataTypeToDouble() {this->SetDataType(VTK_DOUBLE);};
00106
00109 void *GetVoidPointer(const int id) {return this->Data->GetVoidPointer(id);};
00110
00112 virtual void Squeeze() {this->Data->Squeeze();};
00113
00115 virtual void Reset() {this->Data->Reset();};
00116
00118
00121 virtual void DeepCopy(vtkPoints *ad);
00122 virtual void ShallowCopy(vtkPoints *ad);
00124
00131 unsigned long GetActualMemorySize();
00132
00134 vtkIdType GetNumberOfPoints() { return this->Data->GetNumberOfTuples();};
00135
00137 float *GetPoint(vtkIdType id) { return this->Data->GetTuple(id);};
00138
00140
00141 void GetPoint(vtkIdType id, float x[3]) { this->Data->GetTuple(id,x);};
00142 void GetPoint(vtkIdType id, double x[3]) { this->Data->GetTuple(id,x);};
00144
00146
00149 void SetPoint(vtkIdType id, const float x[3]) { this->Data->SetTuple(id,x);};
00150 void SetPoint(vtkIdType id, const double x[3]) { this->Data->SetTuple(id,x);};
00151 void SetPoint(vtkIdType id, double x, double y, double z);
00153
00155
00157 void InsertPoint(vtkIdType id, const float x[3])
00158 { this->Data->InsertTuple(id,x);};
00159 void InsertPoint(vtkIdType id, const double x[3])
00160 {this->Data->InsertTuple(id,x);};
00161 void InsertPoint(vtkIdType id, double x, double y, double z);
00163
00165
00166 vtkIdType InsertNextPoint(const float x[3]) {
00167 return this->Data->InsertNextTuple(x);};
00168 vtkIdType InsertNextPoint(const double x[3]) {
00169 return this->Data->InsertNextTuple(x);};
00170 vtkIdType InsertNextPoint(double x, double y, double z);
00172
00176 void SetNumberOfPoints(vtkIdType number);
00177
00179 void GetPoints(vtkIdList *ptId, vtkPoints *fp);
00180
00182 virtual void ComputeBounds();
00183
00185 float *GetBounds();
00186
00188 void GetBounds(float bounds[6]);
00189
00190 protected:
00191 vtkPoints(int dataType=VTK_FLOAT);
00192 ~vtkPoints();
00193
00194 float Bounds[6];
00195 vtkTimeStamp ComputeTime;
00196 vtkDataArray *Data;
00197
00198 private:
00199 vtkPoints(const vtkPoints&);
00200 void operator=(const vtkPoints&);
00201 };
00202
00203 inline void vtkPoints::SetNumberOfPoints(vtkIdType number)
00204 {
00205 this->Data->SetNumberOfComponents(3);
00206 this->Data->SetNumberOfTuples(number);
00207 }
00208
00209 inline void vtkPoints::SetPoint(vtkIdType id, double x, double y, double z)
00210 {
00211 double p[3];
00212 p[0] = x;
00213 p[1] = y;
00214 p[2] = z;
00215 this->Data->SetTuple(id,p);
00216 }
00217
00218 inline void vtkPoints::InsertPoint(vtkIdType id, double x, double y, double z)
00219 {
00220 double p[3];
00221
00222 p[0] = x;
00223 p[1] = y;
00224 p[2] = z;
00225 this->Data->InsertTuple(id,p);
00226 }
00227
00228 inline vtkIdType vtkPoints::InsertNextPoint(double x, double y, double z)
00229 {
00230 double p[3];
00231
00232 p[0] = x;
00233 p[1] = y;
00234 p[2] = z;
00235 return this->Data->InsertNextTuple(p);
00236 }
00237
00238 #endif
00239