VR-Forces 4.0.4 Class Documentation
include/ctdb/c7bFeature.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: c7bFeature.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 
00010 
00011 #ifndef __DtC7bFeature
00012 #define __DtC7bFeature
00013 
00014 #include "ctdb/ctdbDefines.h"
00015 #include <stdio.h>
00016 #include "ctdb/c7NetTypes.h"
00017 #include "geometry/point.h"
00018 
00019 class DtC7bGridData;
00020 class DtC7bTinData;
00021 class DtC7bFeature;
00022 
00023 // Class:    DtC7bFeature
00024 //
00025 // The class is public because should not be used but anyone else than 
00026 // DtC7b.
00027 // 
00028 
00029 enum
00030 {
00031    FC_MICRO = 0,
00032    FC_VOLUME,
00033    FC_LINEAR,
00034    FC_CANOPY,
00035    FC_LAID_LINEAR,
00036    FC_AGGREGATE
00037 };
00038 
00039 enum
00040 {  VOL_BUILDING = 0,
00041    VOL_ROCK,
00042    VOL_MES
00043 };
00044 
00045 enum
00046 {
00047    LIN_TREELINE = 0
00048 };
00049 
00050 class DtC7bReader;
00051 
00052 class DT_DLL_ctdb DtC7bFeature
00053 {
00054 public:
00055 
00056    DtC7bFeature();
00057    ~DtC7bFeature();
00058 
00059    bool   read(FILE *f);
00060 
00061    // Reads in the feature starting at the db pointer, patch group pg and
00062    // patch number patchNum. The limit pointer is passed on to importCanopy
00063    // to indicate the end of the feature for bounds checking purposes.
00064    int         processFeature(DtC7bReader *db, int pg, int patchNum, 
00065       void* limit);
00066    int         importLinear(DtC7bReader *db, bool isTree, int pg, int patchNum);
00067    int         importVolume(DtC7bReader *db, int pg, int patchNum);
00068    // Read in the canopy starting at the db pointer, patch group pg and
00069    // patch number patchNum. The limit pointer is used to determine the upper
00070    // bound on the canopy.
00071    int         importCanopy(DtC7bReader *db, int pg, int patchNum, void* limit);
00072    int         importMicro(DtC7bReader *db, int pg, int patchNum);
00073    void        caculateExtent(const DtPoint& point, DtPoint& minPoint, DtPoint& maxPoint);
00074 
00075    int         featureClass();
00076    int         vertices();
00077    int         microVertices();
00078    int         microType();
00079    int         postMask();
00080 
00081    double      X(DtC7bReader *db);
00082    double      Y(DtC7bReader *db);
00083    float       Z();
00084 
00085    int         soilIndex(int x);
00086 
00087    int         microVertex(int x);
00088 
00089    int         waterChars(int x);
00090 
00091    int         volumeReference();
00092    int         volumeType();
00093    int         volumeForceId();
00094    bool        volumeGenericModel();
00095                
00096    int         linearReference();
00097    bool        linearFirst();
00098    bool        linearLast();
00099 
00100    int         canopyReference();
00101    bool        canopyVertValid(int x);
00102    int         canopyVert(int x);
00103 
00104    int         aggReference();
00105 
00106    int         varAttrIndex();
00107    int         polyCharIndex();
00108 
00109    int         width();
00110    int         edgeKey();
00111 
00112    DtC7NetU32 featureInfo();
00113 
00114    DtC7NetU32    myFeatureInfo;
00115 };
00116 
00117 #endif
00118 

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)