Blender V5.0
ModelReader.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2002-2022 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#ifndef __MODELREADER_H__
6#define __MODELREADER_H__
7
8#include "GeoCommon.h"
9
10#include "MEM_guardedalloc.h"
11
12/*
13 * Virtual class for input file readers
14 *
15 * @author Tao Ju
16 */
18 public:
20 ModelReader() = default;
21
23 virtual Triangle *getNextTriangle() = 0;
24 virtual int getNextTriangle(int t[3]) = 0;
25
27 virtual float getBoundingBox(float origin[3]) = 0;
28
30 virtual int getNumTriangles() = 0;
31
33 virtual int getMemory() = 0;
34
36 virtual void reset() = 0;
37
39 virtual int getNumVertices() = 0;
40
41 virtual void getNextVertex(float v[3]) = 0;
42
43 virtual void printInfo() = 0;
44
45 MEM_CXX_CLASS_ALLOC_FUNCS("DUALCON:ModelReader")
46};
47
48#endif /* __MODELREADER_H__ */
Read Guarded memory(de)allocation.
ATTR_WARN_UNUSED_RESULT const BMVert * v
virtual void getNextVertex(float v[3])=0
ModelReader()=default
Constructor.
virtual int getNextTriangle(int t[3])=0
virtual void reset()=0
Reset file reading location.
virtual void printInfo()=0
virtual float getBoundingBox(float origin[3])=0
Get bounding box.
virtual Triangle * getNextTriangle()=0
Get next triangle.
virtual int getNumTriangles()=0
Get number of triangles.
virtual int getMemory()=0
Get storage size.
virtual int getNumVertices()=0
For explicit vertex models.