TurtleBrains  0.3.1
High quality, portable, C++ framework for rapid 2D game development.
TurtleBrains::Graphics::CircleShape Class Reference

#include <tb_basic_shapes.h>

Inheritance diagram for TurtleBrains::Graphics::CircleShape:
TurtleBrains::Graphics::PolygonShape TurtleBrains::Graphics::Graphic

Public Member Functions

 CircleShape (const float radius=64.0f, const tbGraphics::Color &color=tbGraphics::ColorPalette::White, const tbMath::Vector2 &position=tbMath::Vector2::Zero(), const int sectionCount=30)
 
virtual ~CircleShape (void)
 
- Public Member Functions inherited from TurtleBrains::Graphics::PolygonShape
 PolygonShape (void)
 
 PolygonShape (const PolygonShape &other)
 
virtual ~PolygonShape (void)
 
virtual void SetColor (const tbGraphics::Color &newColor) override
 
- Public Member Functions inherited from TurtleBrains::Graphics::Graphic
 Graphic (void)
 
 Graphic (const Graphic &other)
 
virtual ~Graphic (void)
 
bool IsActive (void) const
 
void SetActive (const bool isActive)
 
void Update (const float deltaTime)
 
bool IsVisible (void) const
 
void SetVisible (const bool isVisible)
 
void Render (void) const
 
const tbMath::Vector2GetPosition (void) const
 
void SetPosition (const float x, const float y)
 
void SetPosition (const tbMath::Vector2 &position)
 
void SetOrigin (const AnchorLocation &anchor, const tbMath::Vector2 &offset=tbMath::Vector2::Zero())
 
void SetOrigin (const float originX, const float originY)
 
void SetOrigin (const tbMath::Vector2 &origin)
 
float GetDepth (void) const
 
void SetDepth (const float newDepth)
 
const tbMath::Vector2GetScale (void) const
 
void SetScale (const float scale)
 
void SetScale (const float scaleX, const float scaleY)
 
float GetRotation (void) const
 
void SetRotation (const float rotation)
 
void SetScroll (const float scroll)
 
void SetScroll (const float scrollX, const float scrollY)
 
bool IsRelative (void) const
 
const ColorGetColor (void) const
 
float GetWidth (void) const
 
float GetHeight (void) const
 

Additional Inherited Members

- Protected Member Functions inherited from TurtleBrains::Graphics::PolygonShape
virtual void OnRender (void) const override
 
virtual void ClearVertices (void)
 
virtual void AddVertex (const tbMath::Vector2 &position)
 
virtual PixelSpace GetPixelWidth (void) const override
 
virtual PixelSpace GetPixelHeight (void) const override
 
void SetAsTriangles (void)
 
void SetAsTriangleFan (void)
 
void SetAsTriangleStrip (void)
 
void SetAsLines (void)
 
void SetAsLineStrip (void)
 
void SetAsLineLoop (void)
 
- Protected Member Functions inherited from TurtleBrains::Graphics::Graphic
virtual void OnUpdate (const float deltaTime)
 
virtual void ApplyTransform (void) const
 
virtual void PopTransform (void) const
 

Detailed Description

The CircleShape is a special case of the PolygonShape that creates a circle with a specified radius and color to be displayed in a scene.

Constructor & Destructor Documentation

TurtleBrains::Graphics::CircleShape::CircleShape ( const float  radius = 64.0f,
const tbGraphics::Color color = tbGraphics::ColorPalette::White,
const tbMath::Vector2 position = tbMath::Vector2::Zero(),
const int  sectionCount = 30 
)
explicit

Constructs a PolygonShape in the form of a circle with specified size, position and color.

Parameters
radiusThe size of the circle, in pixels unless the projection or view matrix changes.
colorThe desired color of the circle when it renders.
positionThe position of the center of the circle. //TODO: TurtleBrains: Documentation: Check this fact and make sure it works as intended with anchor points.
sectionCountHow many triangle sections the circle should be broken down to, more sections results in a smoother curve but also takes more rendering time and memory. In general smaller circles can reduce the number of sections while larger circles need more sections to be visually smooth.
virtual TurtleBrains::Graphics::CircleShape::~CircleShape ( void  )
virtual

Cleans up after the CircleShape.