Sparkle 0.0.1
Loading...
Searching...
No Matches
spk::Mesh2D::Builder Class Reference

Fluent builder for assembling mesh polygons. More...

#include <spk_mesh_2d.hpp>

Collaboration diagram for spk::Mesh2D::Builder:
Collaboration graph

Public Member Functions

 Builder ()=default
 Creates an empty builder.
Builderclear ()
 Clears existing polygons.
BuilderinsertTriangle (const Vertex &p_a, const Vertex &p_b, const Vertex &p_c)
 Adds a triangle to the builder.
BuilderinsertQuad (const Vertex &p_a, const Vertex &p_b, const Vertex &p_c, const Vertex &p_d, PolygonOrder p_order=PolygonOrder::TriangleFanFromFirst)
 Adds a quad to the builder.
BuilderinsertRectangle (const spk::Vector2 &p_anchor, const spk::Vector2 &p_size, const spk::Vector2 &p_uvAnchor, const spk::Vector2 &p_uvSize, PolygonOrder p_order=PolygonOrder::TriangleFanFromFirst)
 Adds a rectangle with UVs to the builder.
BuilderinsertSprite (const spk::SpriteSheet &p_spriteSheet, const spk::Vector2UInt &p_spriteID, spk::Vector2 p_center, spk::Vector2 p_size)
 Adds a sprite quad sourced from a sprite sheet.
Mesh2D construct ()
 Builds a Mesh2D from the stored polygons.

Detailed Description

Fluent builder for assembling mesh polygons.

Member Function Documentation

◆ clear()

Mesh2D::Builder & spk::Mesh2D::Builder::clear ( )

Clears existing polygons.

Returns
Reference to this builder.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ construct()

Mesh2D spk::Mesh2D::Builder::construct ( )

Builds a Mesh2D from the stored polygons.

Returns
Constructed Mesh2D instance.
Here is the call graph for this function:

◆ insertQuad()

Mesh2D::Builder & spk::Mesh2D::Builder::insertQuad ( const Vertex & p_a,
const Vertex & p_b,
const Vertex & p_c,
const Vertex & p_d,
PolygonOrder p_order = PolygonOrder::TriangleFanFromFirst )

Adds a quad to the builder.

Parameters
p_aFirst vertex.
p_bSecond vertex.
p_cThird vertex.
p_dFourth vertex.
p_orderPolygon ordering strategy.
Returns
Reference to this builder.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ insertRectangle()

Mesh2D::Builder & spk::Mesh2D::Builder::insertRectangle ( const spk::Vector2 & p_anchor,
const spk::Vector2 & p_size,
const spk::Vector2 & p_uvAnchor,
const spk::Vector2 & p_uvSize,
PolygonOrder p_order = PolygonOrder::TriangleFanFromFirst )

Adds a rectangle with UVs to the builder.

Parameters
p_anchorRectangle anchor position.
p_sizeRectangle size.
p_uvAnchorUV anchor.
p_uvSizeUV size.
p_orderPolygon ordering strategy.
Returns
Reference to this builder.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ insertSprite()

Mesh2D::Builder & spk::Mesh2D::Builder::insertSprite ( const spk::SpriteSheet & p_spriteSheet,
const spk::Vector2UInt & p_spriteID,
spk::Vector2 p_center,
spk::Vector2 p_size )

Adds a sprite quad sourced from a sprite sheet.

Parameters
p_spriteSheetSprite sheet source.
p_spriteIDIdentifier of the sprite.
p_centerCenter position of the sprite.
p_sizeSize of the sprite.
Returns
Reference to this builder.
Here is the call graph for this function:

◆ insertTriangle()

Mesh2D::Builder & spk::Mesh2D::Builder::insertTriangle ( const Vertex & p_a,
const Vertex & p_b,
const Vertex & p_c )

Adds a triangle to the builder.

Parameters
p_aFirst vertex.
p_bSecond vertex.
p_cThird vertex.
Returns
Reference to this builder.
Here is the call graph for this function:

The documentation for this class was generated from the following files:
  • includes/structure/engine/2d/spk_mesh_2d.hpp
  • srcs/structure/engine/2d/spk_mesh_2d.cpp