GeometryInfoBlock.h
1 //##################################################################################################
2 //
3 // Ceetron Export
4 // Component: VTFx
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2015, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeVTFx/Base.h"
16 #include "CeeVTFx/Block.h"
17 #include "CeeCore/Str.h"
18 
19 class VTFxGeometryInfoBlock;
20 
21 namespace cee {
22 namespace vtfx {
23 
24 //=================================================================================================================================
25 //
26 //
27 //
28 //=================================================================================================================================
29 class CEE_VTFX_EXPORT GeometryInfoBlock : public Block
30 {
31 public:
32  GeometryInfoBlock(size_t geometryCountPerState);
33  virtual ~GeometryInfoBlock();
34 
35  size_t geometryCountPerState() const;
36 
37  size_t partCount(size_t geometryIndex) const;
38  int partId(size_t geometryIndex, size_t partIndex) const;
39  Str partName(size_t geometryIndex, size_t partIndex) const;
40  void addPartInfo(size_t geometryIndex, int id, const Str& name);
41 
42 private:
43  GeometryInfoBlock(VTFxGeometryInfoBlock* block, int blockId);
44 
45  VTFxBlock* internal_vtfxBlock() const;
46 
47 private:
48  friend class DatabasePrivate;
49 
50  CEE_PRIVATE_IMPL(GeometryInfoBlock);
51  CEE_DISALLOW_COPY_AND_ASSIGN(GeometryInfoBlock);
52 
53 };
54 
55 }
56 }
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppAssert.cpp:18
A general unicode based string class.
Definition: Str.h:28
Abstract base class for all VTFx blocks.
Definition: Block.h:29
A block that associates geometries to part names.
Definition: GeometryInfoBlock.h:29