VR-Forces 4.0.4 Class Documentation
include/vrfutil/railUtils.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00009 #pragma once
00010 
00011 #include "vrfutil/railSegment.h"
00012 #include "matrix/vlVector.h"
00013 #include "vrfutil/vrfutilDefines.h"
00014 #include "terrainCS/coordSystem.h"
00015 #include "vrfutil/iteratorBase.h"
00016 #include "vrfutil/rwRailSegment.h"
00017 #include "vrfutil/lclVecIter.h"
00018 
00020 
00023 DT_DLL_vrfutil double distance2DSqAlongRailSegment(const DtVector & pos, const DtRailSegment * seg,
00024                                                  const Coordinate_System& coordinateSystem,double & distanceToSeg);
00025 
00027 DT_DLL_vrfutil double distance2DAlongRailFromStart(const DtVector & pos, const DtRailSegmentList * rails,const Coordinate_System& coordinateSystem);
00028 
00030 DT_DLL_vrfutil DtVector locationAlongRail(double distanceFromStart, const DtRailSegmentList * rails,const Coordinate_System& coordinateSystem);
00031 
00033 DT_DLL_vrfutil DtVector locationAlongRailSegment(double distanceFromSegmentStart, const DtRailSegment* railSegment);
00034 
00036 DT_DLL_vrfutil double railHeading(const DtRailSegment* railSegment,const Coordinate_System& coordinateSystem);
00037 
00040 DT_DLL_vrfutil int findTurnDirection(double currentHeading, double desiredHeading,double & headingDiff);
00041 
00043 DT_DLL_vrfutil bool intersection(const DtRailSegment * currentSegment,const DtRailSegment * nextSegment);
00044 
00046 DT_DLL_vrfutil int findDrivingLane(const int turnDirection,const DtRailSegment* segment);
00047 
00048 DT_DLL_vrfutil const DtRailSegment * findClosestSegment( const DtVector & pos, const DtRailSegmentList * rails, const Coordinate_System & coordinateSystem,
00049                                    double & distanceSqAlongClosest);
00051 DT_DLL_vrfutil double distance2DAlongRailBetween2Points(const DtVector & pos1, const DtVector & pos2, const DtRailSegmentList * rails,
00052                                                         const Coordinate_System& coordinateSystem);
00053 
00054 DT_DLL_vrfutil double closestPointInXY(const DtRailSegment * seg, const DtVector & pointFronm, DtVector & closest,
00055                                                      const Coordinate_System & coordinateSystem);
00056 
00062 DT_DLL_vrfutil DtRailSegment * generateEntryPoint(const DtPoint & entry,  DtRailSegmentList * rails,const DtVector & entityPos,
00063                                                   bool drivingOnLeft,bool pivots,const double turnRadius,const double entityHeading,DtVector & entryPoint, const Coordinate_System& coordinateSystem);
00064 
00067 DT_DLL_vrfutil void setUpLocalToBodyCoordinateTransform(const DtVector & offset, const double heading,
00068                                    const Coordinate_System& coordinateSystem,DtCoordTransform& transform);
00069 
00070 DT_DLL_vrfutil DtRwRailSegmentList* createRwRailPath(const DtRailSegmentList * rails);
00071 
00072 DT_DLL_vrfutil DtRwRailSegmentList* createRwRailPathFromRoute(DtLocalVectorIterator & routeIter,const DtVector startPos,
00073                                                      DtIteratorDirection dir,bool startAtClosestPt,
00074                                                       const Coordinate_System& coordinateSystem);
00075 
00076 DT_DLL_vrfutil void fillInRailPathFromRoute(DtLocalVectorIterator& routeIter,const DtVector startPos,
00077                                                       DtIteratorDirection dir,bool startAtClosestPt,
00078                                                       const Coordinate_System& coordinateSystem,DtRailSegmentList & rails);
00079 
00080 DT_DLL_vrfutil DtVector convertGeocVecToTopo(const DtVector& geocPoint, const DtCoordTransform& matrix);
00081 
00082 DT_DLL_vrfutil DtVector convertTopoVecToGeoc(const DtVector& topoPoint, const DtCoordTransform& matrix);
00083 
00084 DT_DLL_vrfutil DtCoordTransform generateTransformMatrix(const DtVector& geocViewpoint);

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)