piece: Create rayrender board game piece objects

View source: R/piece-rayrender.R

pieceR Documentation

Create rayrender board game piece objects

Description

piece creates 3d board game piece objects for use with the rayrender package.

Usage

piece(
  piece_side = "tile_back",
  suit = NA,
  rank = NA,
  cfg = getOption("piecepackr.cfg", pp_cfg()),
  x = 0,
  y = 0,
  z = NA,
  angle = 0,
  axis_x = 0,
  axis_y = 0,
  width = NA,
  height = NA,
  depth = NA,
  envir = getOption("piecepackr.envir"),
  ...,
  scale = 1,
  res = 72
)

Arguments

piece_side

A string with piece and side separated by a underscore e.g. "coin_face"

suit

Number of suit (starting from 1).

rank

Number of rank (starting from 1)

cfg

Piecepack configuration list or pp_cfg object, a list of pp_cfg objects, or a character vector referring to names in envir or a character vector referring to object names that can be retrieved by base::dynGet().

x

Where to place piece on x axis of viewport

y

Where to place piece on y axis of viewport

z

z-coordinate of the piece. Has no effect if op_scale is 0.

angle

Angle (on xy plane) to draw piece at

axis_x

First coordinate of the axis unit vector.

axis_y

Second coordinate of the axis unit vector.

width

Width of piece

height

Height of piece

depth

Depth (thickness) of piece. Has no effect if op_scale is 0.

envir

Environment (or named list) containing configuration list(s).

...

Ignored.

scale

Multiplicative scaling factor to apply to width, height, and depth.

res

Resolution of the faces.

Value

A rayrender object.

See Also

See https://www.rayrender.net for more information about the rayrender package. See geometry_utils for a discussion of the 3D rotation parameterization.

Examples

  # May take more than 5 seconds on CRAN servers
  opt <- options(cores = getOption("Ncpus"))
  cfg <- game_systems("sans3d")$piecepack
  if (requireNamespace("rayrender", quietly = TRUE) && all(capabilities(c("cairo", "png")))) {
      rayrender::render_scene(piece("tile_face", suit = 3, rank = 3, cfg = cfg))
  }
  if (requireNamespace("rayrender", quietly = TRUE) && all(capabilities(c("cairo", "png")))) {
      rayrender::render_scene(piece("coin_back", suit = 4, rank = 2, cfg = cfg))
  }
  if (requireNamespace("rayrender", quietly = TRUE) && all(capabilities(c("cairo", "png")))) {
      rayrender::render_scene(piece("pawn_face", suit = 2, cfg = cfg))
  }
  options(opt)
  

trevorld/piecepack documentation built on Jan. 19, 2024, 5:41 a.m.