From f439ae911923ee70937592b1ee535e8e8e133808 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Wed, 6 Mar 2019 15:04:57 +0100 Subject: Directory updates Moved source files to ./src and exmaple and test to ./example Updated Makefile and .doxygen to use those directorys --- cWiremesh.h | 104 ------------------------------------------------------------ 1 file changed, 104 deletions(-) delete mode 100644 cWiremesh.h (limited to 'cWiremesh.h') diff --git a/cWiremesh.h b/cWiremesh.h deleted file mode 100644 index 82d3bd6..0000000 --- a/cWiremesh.h +++ /dev/null @@ -1,104 +0,0 @@ -#pragma once - -#include -#include - -#include "cRender.h" - -#define _DEPTH 99 -#define PI 3.14159265 - -struct sCoord3d -{ - int x; - int y; - int z; - - sCoord3d operator+(sCoord3d p) - { - sCoord3d ret; - ret.x = x + p.x; - ret.y = y + p.y; - ret.z = z + p.z; - return ret; - } - - sCoord3d operator-(sCoord3d p) - { - sCoord3d ret; - ret.x = x - p.x; - ret.y = y - p.y; - ret.z = z - p.z; - return ret; - } -}; - -struct sVector -{ - sCoord3d origin; - sCoord3d direction; - - char c; - WORD color; -}; - -/** -* cWiremesh stores 3D objects as multiple vectors. it can write itself on a cRender framebuffer. -*/ -class cWiremesh -{ -public: - - cWiremesh(); - - virtual ~cWiremesh(); - - /** - * Add a line from _origin to (_origin + _vector) in 3D space. - */ - void addVector(sCoord3d _origin, sCoord3d _vector, char _char, WORD _color); - - /** - * Rotates by (x,y,z) degrees around the corresponding axis. - * Rotation is stored seperatately from original vectors while they stay untouched to prevent growing rounding errors by repeated rotation. - * - * Rotation is applied relative to the origin of this wiremsh. - */ - void rotate(sCoord3d _val); - - /** - * Scales by _scalar. The scalar is directly applied to all vectors. Be wary of growing rounding errors! - */ - void scale(float _scalar); - - sCoord3d getPosition(); - - void setPosition(int _x, int _y, int _z); - - void setPosition(sCoord3d _pos); - - /** - * clear this wiremesh - */ - void reset(); - - /** - * Translates wiremesh into 2D space after applying rotation to each vector. - * The vanishing point is set to the center of _render with depth _DEPTH. Alter _DEPTH to achieve optimal resultst. - */ - void write(cRender *_render); - -protected: - -private: - - sPos translate(sCoord3d _coord, sCoord3d _origin); - - sCoord3d applyRotation(sCoord3d _vector, sCoord3d _angle); - - sCoord3d position; - - sCoord3d angle; - - std::vector vectors; -}; -- cgit v1.2.3