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

Regular polygon. More...

#include "shapeutils.h"

Inheritance diagram for ion::gfxutils::RegularPolygonSpec:
Collaboration diagram for ion::gfxutils::RegularPolygonSpec:

Public Types

enum  PlaneNormal {
  kPositiveX,
  kNegativeX,
  kPositiveY,
  kNegativeY,
  kPositiveZ,
  kNegativeZ
}
 This enum specifies the principal Cartesian plane containing the rectangle by its directed normal. 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

 RegularPolygonSpec ()
 

Public Attributes

int sides
 
PlaneNormal plane_normal
 
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

Regular polygon.

This struct defines a flat regular polygon with n sides and a radius of 1. It can approximate a circle or disc if used with a high number of sides. Use plane_normal from the base class to specify the orientation. The default result is a triangle in the Z plane with the normal facing +Z.

Definition at line 188 of file shapeutils.h.

Member Enumeration Documentation

This enum specifies the principal Cartesian plane containing the rectangle by its directed normal.

Note that this affects the orientation of the rectangle, the direction of its normal, and the orientation of its S/T texture coordinates, as commented below.

Enumerator
kPositiveX 
kNegativeX 
kPositiveY 
kNegativeY 
kPositiveZ 
kNegativeZ 

Definition at line 144 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::RegularPolygonSpec::RegularPolygonSpec ( )
inline

Definition at line 189 of file shapeutils.h.

Member Data Documentation

PlaneNormal ion::gfxutils::PlanarShapeSpec::plane_normal
inherited

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

int ion::gfxutils::RegularPolygonSpec::sides

Definition at line 190 of file shapeutils.h.

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

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: