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

External geometry formats. More...

#include "shapeutils.h"

Inheritance diagram for ion::gfxutils::ExternalShapeSpec:
Collaboration diagram for ion::gfxutils::ExternalShapeSpec:

Public Types

enum  Format {
  k3ds,
  kDae,
  kLwo,
  kObj,
  kOff,
  kUnknown
}
 The set of external geometry file formats that can be read with LoadExternalShape(). More...
 
enum  IndexSize {
  k16Bit,
  k32Bit
}
 The size of the vertex index data type. More...
 
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

 ExternalShapeSpec ()
 

Public Attributes

Format format
 
bool center_at_origin
 Whether to center the loaded object at the origin (defaults to true). More...
 
IndexSize index_size
 The size of the vertex index data type. More...
 
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

External geometry formats.

Definition at line 92 of file shapeutils.h.

Member Enumeration Documentation

The set of external geometry file formats that can be read with LoadExternalShape().

Enumerator
k3ds 
kDae 
kLwo 
kObj 
kOff 
kUnknown 

Definition at line 95 of file shapeutils.h.

The size of the vertex index data type.

Some platforms (OpenGL ES2) don't support 32-bit indices, resulting in an error when the shape is drawn.

Enumerator
k16Bit 
k32Bit 

Definition at line 105 of file shapeutils.h.

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::ExternalShapeSpec::ExternalShapeSpec ( )
inline

Definition at line 109 of file shapeutils.h.

Member Data Documentation

bool ion::gfxutils::ExternalShapeSpec::center_at_origin

Whether to center the loaded object at the origin (defaults to true).

This centering is done in initial model space, before any transformations are applied.

Definition at line 115 of file shapeutils.h.

Format ion::gfxutils::ExternalShapeSpec::format

Definition at line 111 of file shapeutils.h.

Referenced by ion::gfxutils::LoadExternalShape().

IndexSize ion::gfxutils::ExternalShapeSpec::index_size

The size of the vertex index data type.

Definition at line 117 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.

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: