VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
c4bPatch.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1999 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: c4bPatch.h,v $ $Revision: 1.6 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef c4bPatch_H_
10 #define c4bPatch_H_
11 
12 #include "ctdb/ctdbDefines.h"
13 #include <vlutil/vlMachineTypes.h>
14 
15 #include "geometry/point.h"
16 
17 // forward declarations
18 class C4B;
19 class c4b_feature_info;
20 class c4b_treeline_info;
21 class DtGroup;
22 class DtTree;
23 
24 //
25 // class DtC4bPatch:
26 //
28 {
29 public:
30 
31  // default constructor
32  DtC4bPatch();
33 
34  // destructor
35  virtual ~DtC4bPatch();
36 
37  // If a copy constructor is implemented, the assignment operator should
38  // also be implemented. Should generally implement both of them anyway to
39  // avoid memory problems due to inappropriate compiler provided defaults.
40  // Access varies so need to put proper access keyword above these
41  // declarations.
42 
43  virtual void xlate_gridded_patch(C4B& c4b,
44  DtGroup*& patchTerrain,
45  DtGroup*& patchFeatures);
46 
47  virtual void xlate_tinned_patch(C4B& c4b,
48  void* te8_or_te16,
49  int num_elements,
50  DtGroup*& patchTerrain,
51  DtGroup*& patchFeatures);
52 
53  virtual void set_origin_and_post_indices(C4B& c4b, unsigned int patch_number);
54 
55  virtual void set_features(void* features,
56  bool has_feat,
57  bool uses_16_bits,
58  bool has_no_terrain_elts);
59 
60 protected:
61 
62  // copy constructor
63  DtC4bPatch(const DtC4bPatch& orig);
64 
65  // assignment operator
66  DtC4bPatch& operator=(const DtC4bPatch& orig);
67 
68  virtual DtTree* make_tree(C4B& c4b, const DtPoint& at, c4b_treeline_info* t);
69 
70  virtual DtGroup* xlate_features(C4B& c4b);
71 
72  virtual int xlate_microterrain(C4B& c4b, DtGroup* g, c4b_feature_info* f, int num_left_to_read);
73 
74  // return DtBuilding, DtTree, DtTreeCanopy in the following cases? -- RVK
75  virtual int xlate_building(C4B& c4b, DtGroup* g, c4b_feature_info* f);
76  virtual int xlate_tree(C4B& c4b, DtGroup* g, c4b_feature_info* f, int num_left_to_read);
77  virtual int xlate_canopy(C4B& c4b, DtGroup* g, c4b_feature_info* f, int num_left_to_read);
78  virtual int xlate_linear(C4B& c4b, DtGroup* g, c4b_feature_info* f, int num_left_to_read);
79  virtual int xlate_feature(C4B& c4b, DtGroup* g, c4b_feature_info* f, int num_left_to_read);
80 
81 protected:
82 
83  static const int theMaxNumberOfTINVertices;
84 
85 protected:
86 
88  unsigned int myIndexOfZerothPost;
93 
94 };
95 
96 #endif

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)