VR-Forces 4.0.4 Class Documentation
include/ctdb/c7bAbstractFeature.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2002 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: c7bAbstractFeature.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef c7bAbstractFeature_H_
00009 #define c7bAbstractFeature_H_
00010 
00011 #include "ctdb/ctdbDefines.h"
00012 #include <stdio.h>
00013 #include "ctdb/c7NetTypes.h"
00014 
00015 class DtC7bReader;
00016 
00017 
00018 // Class:    DtC7bAbstractFeature
00019 //
00020 // The class is public because should not be used but anyone else than 
00021 // DtC7b.
00022 // 
00023 
00024 class DT_DLL_ctdb DtC7bAbstractFeatureTemplate_Little
00025 {
00026 public:
00027    DtC7NetU16  myNumVertices;
00028    DtNetU8     myNumAbstracts;
00029    DtNetU8     myType;
00030 };
00031 
00032 class DT_DLL_ctdb DtC7bAbstractFeatureTemplate_Big
00033 {
00034 public:
00035    DtNetU8     myType;
00036    DtNetU8     myNumAbstracts;
00037    DtC7NetU16  myNumVertices;
00038 };
00039 
00040 class DT_DLL_ctdb DtC7bAbstractFeature
00041 {
00042 public:
00043 
00044    enum 
00045    {
00046       CTDB_ABSTRACT_CANOPY = 1,
00047       CTDB_ABSTRACT_SOIL_DEFRAG,
00048       CTDB_ABSTRACT_STEEP_SLOPE,
00049       CTDB_ABSTRACT_RAILROAD,
00050       CTDB_ABSTRACT_PIPELINE,
00051       CTDB_ABSTRACT_POLITICAL_BOUNDARY,
00052       CTDB_ABSTRACT_POWERLINE,
00053       CTDB_ABSTRACT_LABEL,
00054       CTDB_ABSTRACT_TACTICAL_SIGN,
00055       CTDB_ABSTRACT_OFFROAD_SEGMENT,
00056       CTDB_ABSTRACT_MAX
00057 
00058    } DtC7bAbstractFeatureType;
00059 
00060    DtC7bAbstractFeature();
00061    DtC7bAbstractFeature(const DtC7NetU32* data);
00062    ~DtC7bAbstractFeature();
00063 
00064    bool   read(FILE *f);
00065    bool   processFeature(DtC7bReader *db);
00066 
00067    bool   impenetrable(int abstData);
00068    int         soilIndex(int abstData);
00069    int         level(int abstData);
00070    int         soilmapIndex(int abstData);
00071    int         slopeDegrees(int abstData);
00072    char        *label();
00073    unsigned    edgeNumber(int abstData);
00074 
00075    const DtNetU8& numAbstracts() const;
00076    const DtNetU8& type() const;
00077    int abstractData(int abstData) const;
00078    DtC7NetU16 numVertices(bool swap = false) const;
00079    double vertex(int) const;
00080 
00081    DtC7bAbstractFeatureTemplate_Little *myLittle;
00082    DtC7bAbstractFeatureTemplate_Big    *myBig;
00083    DtC7NetFloat32   *myVertices;
00084    DtC7NetU32       *myAbstractData;
00085 };
00086 
00087 #endif
00088 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)