VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/vectorObstruction.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vectorObstruction.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef vectorObstruction_H_
00013 #define vectorObstruction_H_
00014 
00015 #include <matrix/vlVector.h>
00016 #include "vrfobjcore/vrfObjMgr.h"
00017 
00018 #include "geometry/tdbextent.h"
00019 #include <matrix/3dBoundingVolume.h>
00020 #include <matrix/vlDcm.h>
00021 
00022 
00023 class DtPoint;
00024 class DtString;
00025 class DtNetworkElement;
00026 class DtNetworkNode;
00027 class DtNetworkSegment;
00028 
00029 
00030 #include "vrfobjcore/vrfobjcoreDefines.h"
00031 class DT_DLL_vrfobjcore DtVectorObstruction
00032 {
00033 
00034 public:
00036    DtVectorObstruction(const DtNetworkNode& networkNode, 
00037       const Coordinate_System& coordSys, bool extrudeInZ);
00038 
00039    DtVectorObstruction(const DtNetworkSegment& networkSegment, 
00040       const Coordinate_System& coordSys, bool extrudeInZ);
00041 
00043    virtual ~DtVectorObstruction();
00044 
00056 
00058    DtVectorObstruction& operator=(const DtVectorObstruction& original);
00059 
00061    bool operator==(const DtVectorObstruction& obstruction) const;
00062 
00064    bool operator!=(const DtVectorObstruction& obstruction) const;
00065 
00066 
00069    bool valid() const;
00070 
00071    const DtNetworkElement* networkElement() const;
00072 
00073    void setNetworkElement(const DtNetworkNode& networkNode, 
00074       const Coordinate_System& coordSys, bool extrudeInZ = false);
00075    void setNetworkElement(const DtNetworkSegment& networkSegment,
00076       const Coordinate_System& coordSys, bool extrudeInZ = false);
00077 
00078    DtVector location() const;
00079 
00080    DtExtent& extent();
00081    const DtExtent& extent() const;
00082 
00085    virtual void expandExtent(DtExtent& extent) const;
00086 
00087    DtVector velocity() const;
00088 
00089    Dt3dBoundingVolume& boundingVolume();
00090    const Dt3dBoundingVolume& boundingVolume() const;
00091 
00092    DtDcm& localOrientationMatrix();
00093    const DtDcm& localOrientationMatrix() const;
00094 
00095    bool testInvariant() const;
00096 
00097 protected:
00098    void initializeExtent(const DtPoint& location, double length, double width, 
00099       double height, DtExtent& extent) const;
00100 
00101    void initializeExtent(const DtPoint& location1, const DtPoint& location2, 
00102       double length, double width, double height, DtExtent& extent) const;
00103 
00104    const DtNetworkElement* myVectorNetworkElement;
00105    DtDcm             myLocalOrientationMatrix;
00106    Dt3dBoundingVolume  myBoundingVolume;
00107    DtVector          myLocation;
00108    DtVector          myVelocity;
00109    
00110    DtExtent          myExtent;
00111 };
00112 
00113 #endif
00114 

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)