Rev | Line | |
---|
[395] | 1 | // Copyright (C) 2012-2015 ChaosForge Ltd
|
---|
[148] | 2 | // http://chaosforge.org/
|
---|
| 3 | //
|
---|
[395] | 4 | // This file is part of Nova libraries.
|
---|
| 5 | // For conditions of distribution and use, see copying.txt file in root folder.
|
---|
[148] | 6 |
|
---|
| 7 | /**
|
---|
| 8 | * @file md3_loader.hh
|
---|
| 9 | * @author Kornel Kisielewicz
|
---|
| 10 | * @brief md3 loader
|
---|
| 11 | */
|
---|
| 12 |
|
---|
[395] | 13 | #ifndef NV_FORMATS_MD3_LOADER_HH
|
---|
| 14 | #define NV_FORMATS_MD3_LOADER_HH
|
---|
[148] | 15 |
|
---|
[395] | 16 | #include <nv/common.hh>
|
---|
[319] | 17 | #include <nv/core/transform.hh>
|
---|
[239] | 18 | #include <nv/interface/mesh_data.hh>
|
---|
[148] | 19 | #include <nv/interface/mesh_loader.hh>
|
---|
| 20 |
|
---|
| 21 | namespace nv
|
---|
| 22 | {
|
---|
[282] | 23 | struct md3_key
|
---|
| 24 | {
|
---|
| 25 | transform tform;
|
---|
| 26 | };
|
---|
[153] | 27 |
|
---|
[282] | 28 |
|
---|
[224] | 29 | class md3_loader : public mesh_loader
|
---|
[189] | 30 | {
|
---|
| 31 | public:
|
---|
[425] | 32 | explicit md3_loader( string_table* strings, bool merge_all = true );
|
---|
[148] | 33 | virtual ~md3_loader();
|
---|
| 34 | virtual bool load( stream& source );
|
---|
[416] | 35 | virtual data_channel_set* release_mesh_data( size_t index = 0 );
|
---|
[240] | 36 | virtual size_t get_mesh_count() const { return 1; }
|
---|
[198] | 37 | size_t get_max_frames() const;
|
---|
[291] | 38 | virtual size_t get_nodes_data_count() const { return 1; }
|
---|
| 39 | virtual mesh_nodes_data* release_mesh_nodes_data( size_t = 0 );
|
---|
[239] | 40 | private:
|
---|
[416] | 41 | void release_mesh_frame( data_channel_set* data, sint32 frame, sint32 surface );
|
---|
[417] | 42 | void load_tags( raw_data_channel* channel, const string_view& tag );
|
---|
| 43 |
|
---|
[304] | 44 | bool m_merge_all;
|
---|
[148] | 45 | void* m_md3;
|
---|
| 46 | };
|
---|
| 47 |
|
---|
| 48 | }
|
---|
| 49 |
|
---|
[395] | 50 | #endif // NV_FORMATS_MD3_LOADER_HH
|
---|
Note: See
TracBrowser
for help on using the repository browser.