gwnavgeneration/raster/rastercell.h Source File

rastercell.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 #pragma once
9 
10 
18 
19 
20 namespace Kaim
21 {
22 
23 
24 class RasterColumn
25 {
26  KY_CLASS_WITHOUT_COPY(RasterColumn)
27 public:
28  RasterColumn() {}
29 public:
30  BlobArray<KyFloat32> m_altitudes;
31  BlobArray<KyUInt32> m_navTagIndices;
32 };
33 inline void SwapEndianness(Endianness::Target e, RasterColumn& self)
34 {
35  SwapEndianness(e, self.m_altitudes);
36  SwapEndianness(e, self.m_navTagIndices);
37 }
38 
39 
40 class RasterCell
41 {
42  KY_CLASS_WITHOUT_COPY(RasterCell)
43  KY_ROOT_BLOB_CLASS(Generator, RasterCell, 0)
44 public:
45  RasterCell() {}
46 
47 public:
48  KyFloat32 m_rasterPrecisionInMeters;
49  PixelAndCellGrid m_pixelAndCellGrid;
50  CellDesc m_cellDesc;
51  BlobArray<RasterColumn> m_columns; // row major
52  BlobArray<NavTag> m_navTags;
53 };
54 inline void SwapEndianness(Endianness::Target e, RasterCell& self)
55 {
56  SwapEndianness(e, self.m_rasterPrecisionInMeters);
57  SwapEndianness(e, self.m_pixelAndCellGrid);
58  SwapEndianness(e, self.m_cellDesc);
59  SwapEndianness(e, self.m_columns);
60  SwapEndianness(e, self.m_navTags);
61 }
62 
63 
64 }
65 
66 
67 
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32