VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkGlobeSource Class Reference

Sphere patch with Lat/Long scalar array. More...

#include <vtkGlobeSource.h>

Inheritance diagram for vtkGlobeSource:
Inheritance graph
[legend]
Collaboration diagram for vtkGlobeSource:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkGlobeSourceNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetOrigin (double, double, double)
virtual void SetOrigin (double[3])
virtual void SetStartLongitude (double)
virtual void SetEndLongitude (double)
virtual void SetStartLatitude (double)
virtual void SetEndLatitude (double)
virtual void SetLongitudeResolution (int)
virtual int GetLongitudeResolution ()
virtual void SetLatitudeResolution (int)
virtual int GetLatitudeResolution ()
virtual void SetRadius (double)
virtual double GetRadius ()
virtual void SetAutoCalculateCurtainHeight (bool)
virtual bool GetAutoCalculateCurtainHeight ()
virtual void AutoCalculateCurtainHeightOn ()
virtual void AutoCalculateCurtainHeightOff ()
virtual void SetCurtainHeight (double)
virtual double GetCurtainHeight ()
virtual void SetQuadrilateralTessellation (int)
virtual int GetQuadrilateralTessellation ()
virtual void QuadrilateralTessellationOn ()
virtual void QuadrilateralTessellationOff ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkGlobeSourceSafeDownCast (vtkObjectBase *o)
static vtkGlobeSourceNew ()
static void ComputeGlobePoint (double theta, double phi, double radius, double *point, double *normal=0)
static void ComputeLatitudeLongitude (double *x, double &theta, double &phi)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkGlobeSource ()
 ~vtkGlobeSource ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void AddPoint (double theta, double phi, double radius, vtkPoints *newPoints, vtkFloatArray *newNormals, vtkFloatArray *newLongitudeArray, vtkFloatArray *newLatitudeArray, vtkDoubleArray *newLatLongArray)

Protected Attributes

double Origin [3]
double Radius
bool AutoCalculateCurtainHeight
double CurtainHeight
int LongitudeResolution
int LatitudeResolution
double StartLongitude
double EndLongitude
double StartLatitude
double EndLatitude
int QuadrilateralTessellation

Detailed Description

Sphere patch with Lat/Long scalar array.

vtkGlobeSource will generate any "rectangular" patch of the globe given its Longitude-Latitude extent. It adds two point scalar arrays Longitude and Latitude to the output. These arrays can be transformed to generate texture coordinates for any texture map. This source is imperfect near the poles as implmented. It should really reduce the longitude resolution as the triangles become slivers.

vtkGlobeSourceSphericalToCartesianFigure.png
Tests:
vtkGlobeSource (Tests)

Definition at line 49 of file vtkGlobeSource.h.


Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 52 of file vtkGlobeSource.h.


Constructor & Destructor Documentation

vtkGlobeSource::~vtkGlobeSource ( ) [inline, protected]

Definition at line 135 of file vtkGlobeSource.h.


Member Function Documentation

static int vtkGlobeSource::IsTypeOf ( const char *  name) [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 vtkPolyDataAlgorithm.

virtual int vtkGlobeSource::IsA ( const char *  name) [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 vtkPolyDataAlgorithm.

Reimplemented from vtkPolyDataAlgorithm.

virtual vtkObjectBase* vtkGlobeSource::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented from vtkPolyDataAlgorithm.

void vtkGlobeSource::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

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 vtkPolyDataAlgorithm.

virtual void vtkGlobeSource::SetOrigin ( double  ,
double  ,
double   
) [virtual]

This world point will be shifted to 0,0,0. Used to avoid picking bug caused by rendering errors with large offsets.

virtual void vtkGlobeSource::SetOrigin ( double  [3]) [virtual]

This world point will be shifted to 0,0,0. Used to avoid picking bug caused by rendering errors with large offsets.

virtual void vtkGlobeSource::SetStartLongitude ( double  ) [virtual]

Longitude Latitude clamps.

virtual void vtkGlobeSource::SetEndLongitude ( double  ) [virtual]

Longitude Latitude clamps.

virtual void vtkGlobeSource::SetStartLatitude ( double  ) [virtual]

Longitude Latitude clamps.

virtual void vtkGlobeSource::SetEndLatitude ( double  ) [virtual]

Longitude Latitude clamps.

virtual void vtkGlobeSource::SetLongitudeResolution ( int  ) [virtual]

Set the number of points in the longitude direction (ranging from StartLongitude to EndLongitude).

Set the number of points in the longitude direction (ranging from StartLongitude to EndLongitude).

virtual void vtkGlobeSource::SetLatitudeResolution ( int  ) [virtual]

Set the number of points in the latitude direction (ranging from StartLatitude to EndLatitude).

Set the number of points in the latitude direction (ranging from StartLatitude to EndLatitude).

virtual void vtkGlobeSource::SetRadius ( double  ) [virtual]

Set radius of sphere. Default is 6356750.0

virtual double vtkGlobeSource::GetRadius ( ) [virtual]

Set radius of sphere. Default is 6356750.0

virtual void vtkGlobeSource::SetAutoCalculateCurtainHeight ( bool  ) [virtual]
virtual void vtkGlobeSource::SetCurtainHeight ( double  ) [virtual]

Set/Get curtain height.

Set/Get curtain height.

virtual void vtkGlobeSource::SetQuadrilateralTessellation ( int  ) [virtual]

Cause the sphere to be tessellated with edges along the latitude and longitude lines. If off, triangles are generated at non-polar regions, which results in edges that are not parallel to latitude and longitude lines. If on, quadrilaterals are generated everywhere except at the poles. This can be useful for generating a wireframe sphere with natural latitude and longitude lines.

Cause the sphere to be tessellated with edges along the latitude and longitude lines. If off, triangles are generated at non-polar regions, which results in edges that are not parallel to latitude and longitude lines. If on, quadrilaterals are generated everywhere except at the poles. This can be useful for generating a wireframe sphere with natural latitude and longitude lines.

virtual void vtkGlobeSource::QuadrilateralTessellationOn ( ) [virtual]

Cause the sphere to be tessellated with edges along the latitude and longitude lines. If off, triangles are generated at non-polar regions, which results in edges that are not parallel to latitude and longitude lines. If on, quadrilaterals are generated everywhere except at the poles. This can be useful for generating a wireframe sphere with natural latitude and longitude lines.

Cause the sphere to be tessellated with edges along the latitude and longitude lines. If off, triangles are generated at non-polar regions, which results in edges that are not parallel to latitude and longitude lines. If on, quadrilaterals are generated everywhere except at the poles. This can be useful for generating a wireframe sphere with natural latitude and longitude lines.

static vtkGlobeSource* vtkGlobeSource::New ( ) [static]

Construct sphere with radius=0.5 and default resolution 8 in both latitude and longitude directions. longitude ranges from (-180,180) and latitude (-90,90) degrees.

Reimplemented from vtkPolyDataAlgorithm.

static void vtkGlobeSource::ComputeGlobePoint ( double  theta,
double  phi,
double  radius,
double point,
double normal = 0 
) [static]

Calculates the normal and point on a sphere with a specified radius at the spherical coordinates theta and phi.

static void vtkGlobeSource::ComputeLatitudeLongitude ( double x,
double theta,
double phi 
) [static]

Calculates the spherical coordinates theta and phi based on the point on a sphere.

int vtkGlobeSource::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.

Reimplemented from vtkPolyDataAlgorithm.

void vtkGlobeSource::AddPoint ( double  theta,
double  phi,
double  radius,
vtkPoints newPoints,
vtkFloatArray newNormals,
vtkFloatArray newLongitudeArray,
vtkFloatArray newLatitudeArray,
vtkDoubleArray newLatLongArray 
) [protected]

Member Data Documentation

Definition at line 153 of file vtkGlobeSource.h.

Definition at line 154 of file vtkGlobeSource.h.

Definition at line 156 of file vtkGlobeSource.h.

Definition at line 157 of file vtkGlobeSource.h.

Definition at line 159 of file vtkGlobeSource.h.

Definition at line 160 of file vtkGlobeSource.h.

Definition at line 162 of file vtkGlobeSource.h.

Definition at line 163 of file vtkGlobeSource.h.

Definition at line 164 of file vtkGlobeSource.h.

Definition at line 165 of file vtkGlobeSource.h.

Definition at line 167 of file vtkGlobeSource.h.


The documentation for this class was generated from the following file: