iguest.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: IGuest.h
00004 
00005     DESCRIPTION: Declares Host/Guest protocol
00006 
00007     CREATED BY: John Hutchinson
00008 
00009     HISTORY: Created April 24, 1999
00010 
00011  *> Copyright (c) 1994, All Rights Reserved.
00012  **********************************************************************/
00013 #pragma once
00014 #include "maxheap.h"
00015 
00016 // forward declarations
00017 class IGeomImp;
00018 class IHost;
00019 class Matrix3;
00020 class INode;
00021 class HitRecord;
00022 class Control;
00023 
00024 class IGuest : public MaxHeapOperators 
00025 {
00026 public:
00027     virtual void rsvp(IHost* host, IGeomImp* return_envelope, Matrix3& tm) = 0; 
00028 };
00029 
00030 
00031 class IHost : public MaxHeapOperators
00032 {
00033 public:
00034     virtual void accomodate(IGeomImp* guestrep, Matrix3& tm, HitRecord* rec = NULL) = 0;
00035     virtual bool locate(INode* host, Control* c, Matrix3& oldP, Matrix3& newP) = 0;
00036 };