Code tutorial
This commit is contained in:
parent
64c164c111
commit
550e3721ae
@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Mesh.h
|
||||
*
|
||||
* Created on: Apr 9, 2014
|
||||
* Author: edgar
|
||||
*/
|
||||
|
||||
#ifndef MESH_H_
|
||||
#define MESH_H_
|
||||
|
||||
#include <iostream>
|
||||
#include <opencv2/core/core.hpp>
|
||||
|
||||
|
||||
// --------------------------------------------------- //
|
||||
// TRIANGLE CLASS //
|
||||
// --------------------------------------------------- //
|
||||
|
||||
class Triangle {
|
||||
public:
|
||||
|
||||
explicit Triangle(int id, cv::Point3f V0, cv::Point3f V1, cv::Point3f V2);
|
||||
virtual ~Triangle();
|
||||
|
||||
cv::Point3f getV0() const { return v0_; }
|
||||
cv::Point3f getV1() const { return v1_; }
|
||||
cv::Point3f getV2() const { return v2_; }
|
||||
|
||||
private:
|
||||
/** The identifier number of the triangle */
|
||||
int id_;
|
||||
/** The three vertices that defines the triangle */
|
||||
cv::Point3f v0_, v1_, v2_;
|
||||
};
|
||||
|
||||
|
||||
// --------------------------------------------------- //
|
||||
// RAY CLASS //
|
||||
// --------------------------------------------------- //
|
||||
|
||||
class Ray {
|
||||
public:
|
||||
|
||||
explicit Ray(cv::Point3f P0, cv::Point3f P1);
|
||||
virtual ~Ray();
|
||||
|
||||
cv::Point3f getP0() { return p0_; }
|
||||
cv::Point3f getP1() { return p1_; }
|
||||
|
||||
private:
|
||||
/** The two points that defines the ray */
|
||||
cv::Point3f p0_, p1_;
|
||||
};
|
||||
|
||||
|
||||
// --------------------------------------------------- //
|
||||
// OBJECT MESH CLASS //
|
||||
// --------------------------------------------------- //
|
||||
|
||||
class Mesh
|
||||
{
|
||||
public:
|
||||
|
||||
Mesh();
|
||||
virtual ~Mesh();
|
||||
|
||||
std::vector<std::vector<int> > getTrianglesList() const { return list_triangles_; }
|
||||
cv::Point3f getVertex(int pos) const { return list_vertex_[pos]; }
|
||||
int getNumVertices() const { return num_vertexs_; }
|
||||
|
||||
void load(const std::string path_file);
|
||||
|
||||
private:
|
||||
/** The identification number of the mesh */
|
||||
int id_;
|
||||
/** The current number of vertices in the mesh */
|
||||
int num_vertexs_;
|
||||
/** The current number of triangles in the mesh */
|
||||
int num_triangles_;
|
||||
/* The list of triangles of the mesh */
|
||||
std::vector<cv::Point3f> list_vertex_;
|
||||
/* The list of triangles of the mesh */
|
||||
std::vector<std::vector<int> > list_triangles_;
|
||||
};
|
||||
|
||||
#endif /* OBJECTMESH_H_ */
|
Loading…
x
Reference in New Issue
Block a user