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 {
44  STATEINFO
45  };
46 
47 
48 public:
49  Block(int blockId);
50  virtual ~Block();
51 
52  int blockId() const;
53  BlockType blockType() const;
54 
55  virtual bool checkValidity() const;
56 
57 protected:
58  virtual VTFxBlock* internal_vtfxBlock() const = 0;
59 
60 private:
61  friend class Database;
62 
63  CEE_PRIVATE_IMPL(Block);
64  CEE_DISALLOW_COPY_AND_ASSIGN(Block);
65 };
66 
67 }
68 }
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: AppLogging.cpp:20
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
Geometry block.
Definition: Block.h:38
Abstract base class for all VTFx blocks.
Definition: Block.h:29