summaryrefslogtreecommitdiff
path: root/src/entity.cuh
blob: b0866442948e32d7334c7e8aad7f254382b78447 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef ENTITY_H
#define ENTITY_H
#include "common.cuh"

//we could make a template to allow double percision, but start with float
//idk how nessesary it is yet so I'll go ahead. 
//I know I needed it for zoomin far into the mandelbrot ig, so it's not
//out of the question
class Entity {
  public:
    __device__ Entity() : pos_(make_vect3(0)), rot_(make_vect3(0)), scale_(make_vect3(0)) {};
    __device__ Entity(const vect3 pos, const vect3 rot, const vect3 scale) : pos_(pos), rot_(rot), scale_(scale) {};
    __device__ Entity(const float3 pos) : pos_(pos), rot_(make_vect3(0)), scale_(make_vect3(0)) {};


    vect3 get_pos() const { return pos_; }
    vect3 get_rot() const { return rot_; }
    vect3 get_scale() const { return scale_; }

    __device__ void set_pos(const vect3 pos) { pos_ = pos; }
    __device__ void set_rot(const vect3 rot) { rot_ = rot; }
    __device__ void set_scale(const vect3 scale) { scale_ = scale; }

  protected:
    vect3 pos_;
    vect3 rot_;
    vect3 scale_;

};
#endif