39 lines
1.2 KiB
C
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);
|