Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ion::gfxutils::EllipsoidSpec Struct Reference

Ellipsoid. More...

#include "shapeutils.h"

Inheritance diagram for ion::gfxutils::EllipsoidSpec:
Collaboration diagram for ion::gfxutils::EllipsoidSpec:

Public Types

enum  VertexType {
  kPosition,
  kPositionTexCoords,
  kPositionNormal,
  kPositionTexCoordsNormal
}
 This enum is used to specify what per-vertex attributes should be included in a Shape. More...
 

Public Member Functions

 EllipsoidSpec ()
 

Public Attributes

math::Anglef longitude_start
 
math::Anglef longitude_end
 
math::Anglef latitude_start
 
math::Anglef latitude_end
 
size_t band_count
 
size_t sector_count
 
math::Vector3f size
 
base::AllocatorPtr allocator
 
math::Point3f translation
 The order of operations is: scale, then rotate, then translate. More...
 
float scale
 
math::Matrix3f rotation
 
VertexType vertex_type
 
gfx::BufferObject::UsageMode usage_mode
 UsageMode for all created BufferObject instances. More...
 

Detailed Description

Ellipsoid.

This struct is used to specify details of the construction of an ellipsoid shape for BuildEllipsoidShape(). An ellipsoid is axis-aligned and consists of a series of latitudinal bands, each of which is divided into longitudinal sectors. If the number of specified bands is less than 2, it is considered to be 2. If the number of specified sectors is less than 3, it is considered to be 3. The ellipsoid is oriented with the north pole at +Y. S texture coordinates increase from west to east, with the seam at -Z. T texture coordinates range from 0 at the south pole to 1 at the north pole. It is possible to build a fraction of an ellipsoid by specifying start and end angles for longitude and latitude. Latitude of 90 degrees corresponds to the north pole, latitude of -90 degrees corresponds to the south pole. Longitude of 0 corresponds to the seam at -Z, longitude of 180 degrees corresponds to +Z. If a fraction of an ellipsoid is requested, the size parameter still corresponds to the bounding box that the full ellipsoid would occupy.

Definition at line 238 of file shapeutils.h.

Member Enumeration Documentation

This enum is used to specify what per-vertex attributes should be included in a Shape.

Only the three geometric attributes available in the global registry ("aVertex", "aNormal", and "aTexCoords") are supported.

Enumerator
kPosition 
kPositionTexCoords 
kPositionNormal 
kPositionTexCoordsNormal 

Definition at line 44 of file shapeutils.h.

Constructor & Destructor Documentation

ion::gfxutils::EllipsoidSpec::EllipsoidSpec ( )
inline

Definition at line 239 of file shapeutils.h.

Member Data Documentation

size_t ion::gfxutils::EllipsoidSpec::band_count

Definition at line 252 of file shapeutils.h.

math::Anglef ion::gfxutils::EllipsoidSpec::latitude_end

Definition at line 251 of file shapeutils.h.

math::Anglef ion::gfxutils::EllipsoidSpec::latitude_start

Definition at line 250 of file shapeutils.h.

math::Anglef ion::gfxutils::EllipsoidSpec::longitude_end

Definition at line 249 of file shapeutils.h.

math::Anglef ion::gfxutils::EllipsoidSpec::longitude_start

Definition at line 248 of file shapeutils.h.

math::Matrix3f ion::gfxutils::ShapeSpec::rotation
inherited

Definition at line 59 of file shapeutils.h.

float ion::gfxutils::ShapeSpec::scale
inherited

Definition at line 58 of file shapeutils.h.

size_t ion::gfxutils::EllipsoidSpec::sector_count

Definition at line 253 of file shapeutils.h.

math::Vector3f ion::gfxutils::EllipsoidSpec::size

Definition at line 254 of file shapeutils.h.

math::Point3f ion::gfxutils::ShapeSpec::translation
inherited

The order of operations is: scale, then rotate, then translate.

Definition at line 57 of file shapeutils.h.

gfx::BufferObject::UsageMode ion::gfxutils::ShapeSpec::usage_mode
inherited

UsageMode for all created BufferObject instances.

This also affects whether data is considered wipeable. (gfx::BufferObject::kStaticDraw).

Definition at line 63 of file shapeutils.h.

VertexType ion::gfxutils::ShapeSpec::vertex_type
inherited

Definition at line 60 of file shapeutils.h.


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