summaryrefslogtreecommitdiffstats
path: root/source/BlockTracer.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/BlockTracer.h')
-rw-r--r--source/BlockTracer.h104
1 files changed, 0 insertions, 104 deletions
diff --git a/source/BlockTracer.h b/source/BlockTracer.h
deleted file mode 100644
index d0a34811d..000000000
--- a/source/BlockTracer.h
+++ /dev/null
@@ -1,104 +0,0 @@
-
-// BlockTracer.h
-
-// Declares the classes common for all blocktracers
-
-
-
-
-
-#pragma once
-
-
-
-
-
-// fwd: World.h
-class cWorld;
-
-
-
-
-
-class cBlockTracer abstract
-{
-public:
- /** The callback class is used to notify the caller of individual events that are being traced.
- */
- class cCallbacks abstract
- {
- public:
- /** Called on each block encountered along the path, including the first block (path start)
- When this callback returns true, the tracing is aborted.
- */
- virtual bool OnNextBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, char a_EntryFace) = 0;
-
- /** Called on each block encountered along the path, including the first block (path start), if chunk data is not loaded
- When this callback returns true, the tracing is aborted.
- */
- virtual bool OnNextBlockNoData(int a_BlockX, int a_BlockY, int a_BlockZ, char a_EntryFace) { return false; }
-
- /** Called when the path goes out of world, either below (a_BlockY < 0) or above (a_BlockY >= cChunkDef::Height)
- The coords specify the exact point at which the path exited the world.
- If this callback returns true, the tracing is aborted.
- Note that some paths can go out of the world and come back again (parabola),
- in such a case this callback is followed by OnIntoWorld() and further OnNextBlock() calls
- */
- virtual bool OnOutOfWorld(double a_BlockX, double a_BlockY, double a_BlockZ) { return false; }
-
- /** Called when the path goes into the world, from either below (a_BlockY < 0) or above (a_BlockY >= cChunkDef::Height)
- The coords specify the exact point at which the path entered the world.
- If this callback returns true, the tracing is aborted.
- Note that some paths can go out of the world and come back again (parabola),
- in such a case this callback is followed by further OnNextBlock() calls
- */
- virtual bool OnIntoWorld(double a_BlockX, double a_BlockY, double a_BlockZ) { return false; }
-
- /** Called when the path is sure not to hit any more blocks.
- Note that for some shapes this might never happen (line with constant Y)
- */
- virtual void OnNoMoreHits(void) {}
-
- /** Called when the block tracing walks into a chunk that is not allocated.
- This usually means that the tracing is aborted.
- */
- virtual void OnNoChunk(void) {}
- } ;
-
-
- /// Creates the BlockTracer parent with the specified callbacks
- cBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks) :
- m_World(&a_World),
- m_Callbacks(&a_Callbacks)
- {
- }
-
-
- /// Sets new world, returns the old one. Note that both need to be valid
- cWorld & SetWorld(cWorld & a_World)
- {
- cWorld & Old = *m_World;
- m_World = &a_World;
- return Old;
- }
-
-
- /// Sets new callbacks, returns the old ones. Note that both need to be valid
- cCallbacks & SetCallbacks(cCallbacks & a_NewCallbacks)
- {
- cCallbacks & Old = *m_Callbacks;
- m_Callbacks = &a_NewCallbacks;
- return Old;
- }
-
-protected:
- /// The world upon which to operate
- cWorld * m_World;
-
- /// The callback to use for reporting
- cCallbacks * m_Callbacks;
-} ;
-
-
-
-