scenepic 1.1.0
3D Visualization Made Easy
Namespaces | Classes | Enumerations | Functions
scenepic Namespace Reference

Namespaces

namespace  Colors
 
namespace  Transforms
 

Classes

class  AudioTrack
 Audio track that can be connected to a canvas. More...
 
class  Camera
 A camera type. More...
 
class  Canvas2D
 A 2D canvas that can contain a number of Frame2Ds. More...
 
class  Canvas3D
 Represents a ScenePic Canvas3D - a 3D viewport that can contain a number of Frame3Ds. More...
 
class  Color
 Class for representing color values. More...
 
class  DropDownMenu
 Represents a ScenePic DropDownMenu UI component. More...
 
class  FocusPoint
 3D focus point for this frame (with optional 3D rotation for orientation lock), used in the ScenePic user interface. More...
 
class  Frame2D
 Represents a frame of a 2D animation. More...
 
class  Frame3D
 Represents a frame of an animation which contains a number of transformed Mesh objects. More...
 
class  Graph
 A 2D viewport that animates one or more sparklines. More...
 
class  Image
 A ScenePic Image type. More...
 
class  JsonValue
 Representation of a JSON value according to the specification at https://www.json.org/json-en.html. More...
 
class  Label
 A ScenePic label type. More...
 
class  LayerSettings
 Settings used for customizing canvas drawing by layer. More...
 
class  LoopSubdivisionStencil
 This class enables efficient Loop subdivision of triangle meshes. More...
 
class  Mesh
 The basic ScenePic mesh class, containing vertex, triangle, and line buffers. More...
 
class  MeshInfo
 Container for Mesh creation information. More...
 
class  MeshUpdate
 Class which represents an update to an existing mesh in which only the vertex buffer is changed. More...
 
struct  QuantizationInfo
 Information about the results of quantization. More...
 
class  Scene
 Top level container representing an entire ScenePic. More...
 
class  Shading
 Parameters of the shaders. More...
 
class  TextPanel
 Represents a ScenePic TextPanel UI component. More...
 
class  UIParameters
 Per-Canvas3D parameters of the ScenePic user interface. More...
 
class  Video
 Video that can be connected to a canvas. More...
 

Enumerations

enum class  JsonType {
  Object , Array , String , Integer ,
  Double , Boolean , Null
}
 Types of JsonValue objects. More...
 
enum class  VertexBufferType {
  None = 0 , Positions = 1 , Normals = 2 , Colors = 4 ,
  Rotations = 8
}
 Flags indicating what aspect of the vertex buffer is updated. More...
 

Functions

template<typename Derived >
std::vector< std::uint8_t > compress_matrix (const Derived &matrix)
 Compress a matrix. More...
 
template<typename Derived >
Derived decompress_matrix (const std::vector< std::uint8_t > &buffer)
 Decompress a matrix compressed by the "compress" method. More...
 
std::shared_ptr< MeshInfoload_obj (const std::string &path)
 Load the geometry of a WaveFront OBJ file from a location on disk. More...
 
std::shared_ptr< MeshInfoload_obj (std::istream &stream)
 Load the geometry of a WaveFront OBJ file from a stream. More...
 
VertexBufferType operator| (VertexBufferType a, VertexBufferType b)
 
VertexBufferType operator& (VertexBufferType a, VertexBufferType b)
 
VertexBufferTypeoperator|= (VertexBufferType &a, VertexBufferType b)
 
template<typename T >
void split (const std::string &s, char delim, T result)
 
template<typename T >
void unique_index (const std::vector< T > &items, std::vector< T > &unique_items, std::vector< std::size_t > &reverse_index)
 
std::vector< std::uint8_t > deflate (const std::uint8_t *data, std::size_t data_length)
 Deflate a byte array. More...
 
std::vector< std::uint8_t > inflate (const std::uint8_t *data, std::size_t source_length, std::size_t dest_length)
 Inflates a byte array created by. More...
 

Enumeration Type Documentation

◆ JsonType

enum class scenepic::JsonType
strong

Types of JsonValue objects.

Enumerator
Object 
Array 
String 
Integer 
Double 
Boolean 
Null 

◆ VertexBufferType

enum class scenepic::VertexBufferType
strong

Flags indicating what aspect of the vertex buffer is updated.

Enumerator
None 
Positions 
Normals 
Colors 
Rotations 

Function Documentation

◆ compress_matrix()

template<typename Derived >
std::vector< std::uint8_t > scenepic::compress_matrix ( const Derived &  matrix)

Compress a matrix.

Parameters
matrixthe matrix to be compressed
Returns
the compressed bytes

◆ decompress_matrix()

template<typename Derived >
Derived scenepic::decompress_matrix ( const std::vector< std::uint8_t > &  buffer)

Decompress a matrix compressed by the "compress" method.

Parameters
bufferthe compressed bytes
Returns
the decompressed vertex buffer

◆ deflate()

std::vector< std::uint8_t > scenepic::deflate ( const std::uint8_t *  data,
std::size_t  data_length 
)

Deflate a byte array.

Parameters
dataa pointer to the bytes to deflate
data_lengththe number of bytes to deflate
Returns
the deflated bytes

◆ inflate()

std::vector< std::uint8_t > scenepic::inflate ( const std::uint8_t *  data,
std::size_t  source_length,
std::size_t  dest_length 
)

Inflates a byte array created by.

See also
deflate.
Parameters
datathe deflated bytes
source_lengththe number of deflated bytes
dest_lengthan estimate of the number of original bytes
Returns
the original bytes

◆ load_obj() [1/2]

std::shared_ptr< MeshInfo > scenepic::load_obj ( const std::string &  path)

Load the geometry of a WaveFront OBJ file from a location on disk.

Parameters
pathlocation of the OBJ on disk
Returns
the mesh information from the OBJ

◆ load_obj() [2/2]

std::shared_ptr< MeshInfo > scenepic::load_obj ( std::istream &  stream)

Load the geometry of a WaveFront OBJ file from a stream.

Parameters
streaman input stream containing data in OBJ format
Returns
the mesh information from the OBJ

◆ operator&()

VertexBufferType scenepic::operator& ( VertexBufferType  a,
VertexBufferType  b 
)
inline

◆ operator|()

VertexBufferType scenepic::operator| ( VertexBufferType  a,
VertexBufferType  b 
)
inline

◆ operator|=()

VertexBufferType & scenepic::operator|= ( VertexBufferType a,
VertexBufferType  b 
)
inline

◆ split()

template<typename T >
void scenepic::split ( const std::string &  s,
char  delim,
result 
)

◆ unique_index()

template<typename T >
void scenepic::unique_index ( const std::vector< T > &  items,
std::vector< T > &  unique_items,
std::vector< std::size_t > &  reverse_index 
)