CGI/exercise3/include/Primitives.h
2018-11-13 09:22:55 +01:00

39 lines
1.2 KiB
C

// This source code is property of the Computer Graphics and Visualization
// chair of the TU Dresden. Do not distribute!
// Copyright (C) CGV TU Dresden - All Rights Reserved
#pragma once
#include "util/OpenMeshUtils.h"
//create a mesh containing a single quad
void CreateQuad(HEMesh& m);
//create a unit coube mesh
void CreateCube(HEMesh& m);
//create a regular tetraeder mesh
void CreateTetrahedron(HEMesh& m, float a = 1);
//create a disc mesh
void CreateDisk(HEMesh& m, float radius, int slices);
//create a cylinder mesh
void CreateCylinder(HEMesh& m, float radius, float height, int stacks, int slices);
//create a sphere mesh
void CreateSphere(HEMesh& m, float radius, int slices, int stacks);
//create a torus mesh
void CreateTorus(HEMesh& m, float r, float R, int nsides, int rings);
//creates an icosaeder mesh in m
// radius is the radius of the circum sphere
void CreateIcosahedron(HEMesh& m, float radius);
//creates an octaeder mesh
// radius is the radius of the circum sphere
void CreateOctahedron(HEMesh& m, float radius);
//create a unit arrow
void CreateUnitArrow(HEMesh& m, float stem_radius = 0.04, float head_radius = 0.1, float stem_height = 0.8, int slices = 30, int stem_stacks = 1);