Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkMCubesReader Class Reference

read binary marching cubes file. More...

#include <vtkMCubesReader.h>

Inheritance diagram for vtkMCubesReader:

Inheritance graph
Collaboration diagram for vtkMCubesReader:

Collaboration graph
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetFileName (const char *)
virtual char * GetFileName ()
virtual void SetLimitsFileName (const char *)
virtual char * GetLimitsFileName ()
virtual void SetFlipNormals (int)
virtual int GetFlipNormals ()
virtual void FlipNormalsOn ()
virtual void FlipNormalsOff ()
virtual void SetNormals (int)
virtual int GetNormals ()
virtual void NormalsOn ()
virtual void NormalsOff ()
void SetLocator (vtkPointLocator *locator)
virtual vtkPointLocatorGetLocator ()
void CreateDefaultLocator ()
unsigned long GetMTime ()
void SetLocator (vtkPointLocator &locator)

Static Public Methods

int IsTypeOf (const char *type)
vtkMCubesReader * SafeDownCast (vtkObject *o)
vtkMCubesReader * New ()

Protected Methods

 vtkMCubesReader ()
 ~vtkMCubesReader ()
 vtkMCubesReader (const vtkMCubesReader &)
void operator= (const vtkMCubesReader &)
void Execute ()

Protected Attributes

char * FileName
char * LimitsFileName
int FlipNormals
int Normals

Detailed Description

read binary marching cubes file.

2000/12/10 20:08:42

vtkMCubesReader is a source object that reads binary marching cubes files. (Marching cubes is an isosurfacing technique that generates many triangles.) The binary format is supported by W. Lorensen's marching cubes program (and the vtkSliceCubes object). The format repeats point coordinates, so this object will merge the points with a vtkLocator object. You can choose to supply the vtkLocator or use the default.

Binary files assumed written in sun/hp/sgi (i.e., Big Endian) form.
Because points are merged when read, degenerate triangles may be removed. Thus the number of triangles read may be fewer than the number of triangles actually created.
The point merging does not take into account that the same point may have different normals. For example, running vtkPolyDataNormals after vtkContourFilter may split triangles because of the FeatureAngle ivar. Subsequent reading with vtkMCubesReader will merge the points and use the first point's normal. For the most part, this is undesirable.
Normals are generated from the gradient of the data scalar values. Hence the normals may on occasion point in a direction inconsistent with the ordering of the triangle vertices. If this happens, the resulting surface may be "black". Reverse the sense of the FlipNormals boolean flag to correct this.
See also:
vtkContourFilter vtkMarchingCubes vtkSliceCubes vtkLocator
vtkMCubesReader (examples)

Definition at line 90 of file vtkMCubesReader.h.

Constructor & Destructor Documentation

vtkMCubesReader::vtkMCubesReader   [protected]

vtkMCubesReader::~vtkMCubesReader   [protected]

vtkMCubesReader::vtkMCubesReader const vtkMCubesReader &    [inline, protected]

Definition at line 140 of file vtkMCubesReader.h.

Member Function Documentation

virtual const char* vtkMCubesReader::GetClassName   [virtual]

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataSource.

int vtkMCubesReader::IsTypeOf const char *    type [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataSource.

virtual int vtkMCubesReader::IsA const char *    type [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataSource.

vtkMCubesReader* vtkMCubesReader::SafeDownCast vtkObject   o [static]

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataSource.

void vtkMCubesReader::PrintSelf ostream &    os,
vtkIndent    indent

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkSource.

vtkMCubesReader* vtkMCubesReader::New   [static]

Construct object with FlipNormals turned off and Normals set to true.

Reimplemented from vtkPolyDataSource.

virtual void vtkMCubesReader::SetFileName const char *    [virtual]

Specify file name of marching cubes file.

virtual char* vtkMCubesReader::GetFileName   [virtual]

virtual void vtkMCubesReader::SetLimitsFileName const char *    [virtual]

Set / get the file name of the marching cubes limits file.

virtual char* vtkMCubesReader::GetLimitsFileName   [virtual]

virtual void vtkMCubesReader::SetFlipNormals int    [virtual]

Specify whether to flip normals in opposite direction. Flipping ONLY changes the direction of the normal vector. Contrast this with flipping in vtkPolyDataNormals which flips both the normal and the cell point order.

virtual int vtkMCubesReader::GetFlipNormals   [virtual]

virtual void vtkMCubesReader::FlipNormalsOn   [virtual]

virtual void vtkMCubesReader::FlipNormalsOff   [virtual]

virtual void vtkMCubesReader::SetNormals int    [virtual]

Specify whether to read normals.

virtual int vtkMCubesReader::GetNormals   [virtual]

virtual void vtkMCubesReader::NormalsOn   [virtual]

virtual void vtkMCubesReader::NormalsOff   [virtual]

void vtkMCubesReader::SetLocator vtkPointLocator   locator

Set / get a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

virtual vtkPointLocator* vtkMCubesReader::GetLocator   [virtual]

void vtkMCubesReader::CreateDefaultLocator void   

Create default locator. Used to create one when none is specified.

unsigned long vtkMCubesReader::GetMTime   [virtual]

Return the mtime also considering the locator.

Reimplemented from vtkObject.

void vtkMCubesReader::SetLocator vtkPointLocator   locator [inline]

For legacy compatibility. Do not use.

Definition at line 133 of file vtkMCubesReader.h.

void vtkMCubesReader::operator= const vtkMCubesReader &    [inline, protected]

Definition at line 141 of file vtkMCubesReader.h.

void vtkMCubesReader::Execute   [protected, virtual]

Reimplemented from vtkSource.

Member Data Documentation

char* vtkMCubesReader::FileName [protected]

Definition at line 145 of file vtkMCubesReader.h.

char* vtkMCubesReader::LimitsFileName [protected]

Definition at line 146 of file vtkMCubesReader.h.

vtkPointLocator* vtkMCubesReader::Locator [protected]

Definition at line 147 of file vtkMCubesReader.h.

int vtkMCubesReader::FlipNormals [protected]

Definition at line 148 of file vtkMCubesReader.h.

int vtkMCubesReader::Normals [protected]

Definition at line 149 of file vtkMCubesReader.h.

The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:52:58 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001