#include <vtkGlobeSource.h>
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.
Definition at line 42 of file vtkGlobeSource.h.
Public Types | |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | SetOrigin (double, double, double) |
virtual void | SetOrigin (double[3]) |
virtual void | SetCurtainHeight (double) |
virtual double | GetCurtainHeight () |
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 | SetQuadrilateralTessellation (int) |
virtual int | GetQuadrilateralTessellation () |
virtual void | QuadrilateralTessellationOn () |
virtual void | QuadrilateralTessellationOff () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkGlobeSource * | SafeDownCast (vtkObject *o) |
static vtkGlobeSource * | New () |
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 | |
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 |
double | CurtainHeight |
int | LongitudeResolution |
int | LatitudeResolution |
double | StartLongitude |
double | EndLongitude |
double | StartLatitude |
double | EndLatitude |
int | QuadrilateralTessellation |
vtkGlobeSource::vtkGlobeSource | ( | ) | [protected] |
vtkGlobeSource::~vtkGlobeSource | ( | ) | [inline, protected] |
Definition at line 118 of file vtkGlobeSource.h.
virtual const char* vtkGlobeSource::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkPolyDataAlgorithm.
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 vtkTypeRevisionMacro 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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
static vtkGlobeSource* vtkGlobeSource::SafeDownCast | ( | vtkObject * | o | ) | [static] |
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] |
virtual void vtkGlobeSource::SetOrigin | ( | double | [3] | ) | [virtual] |
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).
virtual int vtkGlobeSource::GetLongitudeResolution | ( | ) | [virtual] |
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).
virtual int vtkGlobeSource::GetLatitudeResolution | ( | ) | [virtual] |
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::SetCurtainHeight | ( | double | ) | [virtual] |
virtual double vtkGlobeSource::GetCurtainHeight | ( | ) | [virtual] |
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.
virtual int vtkGlobeSource::GetQuadrilateralTessellation | ( | ) | [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.
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.
virtual void vtkGlobeSource::QuadrilateralTessellationOff | ( | ) | [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.
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.
int vtkGlobeSource::RequestInformation | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [protected, virtual] |
Reimplemented from vtkPolyDataAlgorithm.
void vtkGlobeSource::AddPoint | ( | double | theta, | |
double | phi, | |||
double | radius, | |||
vtkPoints * | newPoints, | |||
vtkFloatArray * | newNormals, | |||
vtkFloatArray * | newLongitudeArray, | |||
vtkFloatArray * | newLatitudeArray, | |||
vtkDoubleArray * | newLatLongArray | |||
) | [protected] |
double vtkGlobeSource::Origin[3] [protected] |
Definition at line 136 of file vtkGlobeSource.h.
double vtkGlobeSource::Radius [protected] |
Definition at line 137 of file vtkGlobeSource.h.
double vtkGlobeSource::CurtainHeight [protected] |
Definition at line 138 of file vtkGlobeSource.h.
int vtkGlobeSource::LongitudeResolution [protected] |
Definition at line 139 of file vtkGlobeSource.h.
int vtkGlobeSource::LatitudeResolution [protected] |
Definition at line 140 of file vtkGlobeSource.h.
double vtkGlobeSource::StartLongitude [protected] |
Definition at line 141 of file vtkGlobeSource.h.
double vtkGlobeSource::EndLongitude [protected] |
Definition at line 142 of file vtkGlobeSource.h.
double vtkGlobeSource::StartLatitude [protected] |
Definition at line 143 of file vtkGlobeSource.h.
double vtkGlobeSource::EndLatitude [protected] |
Definition at line 144 of file vtkGlobeSource.h.
int vtkGlobeSource::QuadrilateralTessellation [protected] |
Definition at line 145 of file vtkGlobeSource.h.