From 675b4aa878f16291ce33fced48a2bc7425f635ae Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Sun, 24 Nov 2013 14:19:41 +0000 Subject: Moved source to src --- source/LineBlockTracer.h | 87 ------------------------------------------------ 1 file changed, 87 deletions(-) delete mode 100644 source/LineBlockTracer.h (limited to 'source/LineBlockTracer.h') diff --git a/source/LineBlockTracer.h b/source/LineBlockTracer.h deleted file mode 100644 index ccbb70ea6..000000000 --- a/source/LineBlockTracer.h +++ /dev/null @@ -1,87 +0,0 @@ - -// LineBlockTracer.h - -// Declares the cLineBlockTracer class representing a cBlockTracer that traces along a straight line between two points - - - - - -#pragma once - -#include "BlockTracer.h" - - - - - -// fwd: Chunk.h -class cChunk; - -// fwd: cChunkMap.h -typedef cItemCallback cChunkCallback; - - - - - - -class cLineBlockTracer : - public cBlockTracer, - public cChunkCallback -{ - typedef cBlockTracer super; - -public: - cLineBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks); - - /// Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) - bool Trace(double a_StartX, double a_StartY, double a_StartZ, double a_EndX, double a_EndY, double a_EndZ); - - // Utility functions for simple one-line usage: - /// Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) - static bool Trace(cWorld & a_World, cCallbacks & a_Callbacks, double a_StartX, double a_StartY, double a_StartZ, double a_EndX, double a_EndY, double a_EndZ); - - /// Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) - static bool Trace(cWorld & a_World, cCallbacks & a_Callbacks, const Vector3d & a_Start, const Vector3d & a_End); - -protected: - // The start point of the trace - double m_StartX, m_StartY, m_StartZ; - - // The end point of the trace - double m_EndX, m_EndY, m_EndZ; - - // The difference in coords, End - Start - double m_DiffX, m_DiffY, m_DiffZ; - - // The increment at which the block coords are going from Start to End; either +1 or -1 - int m_DirX, m_DirY, m_DirZ; - - // The current block - int m_CurrentX, m_CurrentY, m_CurrentZ; - - // The face through which the current block has been entered - char m_CurrentFace; - - - /// Adjusts the start point above the world to just at the world's top - void FixStartAboveWorld(void); - - /// Adjusts the start point below the world to just at the world's bottom - void FixStartBelowWorld(void); - - /// Calculates the XZ coords of an intersection with the specified Yconst plane; assumes that such an intersection exists - void CalcXZIntersection(double a_Y, double & a_IntersectX, double & a_IntersectZ); - - /// Moves m_Current to the next block on the line; returns false if no move is possible (reached the end) - bool MoveToNextBlock(void); - - // cChunkCallback overrides: - virtual bool Item(cChunk * a_Chunk) override; -} ; - - - - - -- cgit v1.2.3