Block.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 
17 #include "CeeCore/RefCountedObject.h"
18 
19 class VTFxBlock;
20 
21 namespace cee {
22 namespace vtfx {
23 
24 //==================================================================================================
25 //
26 //
27 //
28 //==================================================================================================
29 class CEE_VTFX_EXPORT Block : public RefCountedObject
30 {
31 public:
32 
33  // Block types
34  // -----------------------------------------------------------------------------
35  enum BlockType {
45  SET,
46  ILLEGAL
47  };
48 
49 
50 public:
51  Block(int blockId);
52  virtual ~Block();
53 
54  int blockId() const;
55  BlockType blockType() const;
56 
57  virtual bool checkValidity() const;
58 
59 protected:
60  virtual VTFxBlock* internal_vtfxBlock() const = 0;
61 
62 private:
63  friend class Database;
64 
65  CEE_PRIVATE_IMPL(Block);
66  CEE_DISALLOW_COPY_AND_ASSIGN(Block);
67 };
68 
69 }
70 }
Geometry info block.
Definition: Block.h:39
Result values block (scalars, vectors, displacements)
Definition: Block.h:41
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppAssert.cpp:18
Transformation result block.
Definition: Block.h:42
Transformation result values block (matrices)
Definition: Block.h:43
A VTFx database. The class represents a database of data blocks.
Definition: Database.h:32
Result block.
Definition: Block.h:40
Node block.
Definition: Block.h:36
BlockType
Global block type constants used by Ceetron Export. Normally users do not need these, except for some methods of TransformationResultValuesBlock.
Definition: Block.h:35
Elements block.
Definition: Block.h:37
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
State info block.
Definition: Block.h:44
Geometry block.
Definition: Block.h:38
Abstract base class for all VTFx blocks.
Definition: Block.h:29