summaryrefslogtreecommitdiff
path: root/src/win95/dummyobjectchunk.hpp
blob: adb3a93b7e5c0af3976124d4d699b55319e34087 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

#ifndef _DummyObjectChunk_hpp
#define _DummyObjectChunk_hpp 1

#include "chunk.hpp"
#include "list_tem.hpp"
#include "chnktype.hpp"

class Dummy_Object_Data_Chunk;

class Dummy_Object_Chunk : public Chunk_With_Children
{
public:

	Dummy_Object_Chunk(Chunk_With_Children* parent,const char* _name ,ChunkVectorInt& _location,ChunkVectorInt& min ,ChunkVectorInt& max ,ChunkQuat& orient);

	// constructor from buffer
	Dummy_Object_Chunk (Chunk_With_Children * const parent,const char *, size_t const);

	Dummy_Object_Data_Chunk * get_data_chunk();//gets data chunk (name and location)

	const char* get_text(); //get text attached to a dummy object
	void set_text(const char* text); //change the text attached to a dummy object
	
};

//chunk containing  name and location of dummy object
class  Dummy_Object_Data_Chunk : public Chunk
{
public :
	Dummy_Object_Data_Chunk(Dummy_Object_Chunk* parent,const char* _name ,ChunkVectorInt& _location,ChunkVectorInt& min ,ChunkVectorInt& max ,ChunkQuat& orient);
	Dummy_Object_Data_Chunk (Chunk_With_Children * parent, const char * data, size_t );
	~Dummy_Object_Data_Chunk();


/*------------------------**
** Main dummy object data **
**------------------------*/
	char* name;
	
	ChunkVectorInt location;
	ChunkQuat orientation;
	
	ChunkVectorInt min_extents;
	ChunkVectorInt max_extents;
/*------------------------**
** Main dummy object data **
**------------------------*/

	size_t size_chunk();
	void fill_data_block (char * data);

private :

	friend class Dummy_Object_Chunk;

};


//contains the 'user text' from 3dsmax
class Dummy_Object_Text_Chunk : public Chunk
{
public :
	Dummy_Object_Text_Chunk(Dummy_Object_Chunk* parent,const char* _text);
	Dummy_Object_Text_Chunk(Chunk_With_Children * parent, const char * data, size_t );
	~Dummy_Object_Text_Chunk();

	size_t size_chunk();
	void fill_data_block (char * data);


	const char* get_text() {return text;}
	void set_text(const char* _text);

private :
	char* text;

};


#endif