Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

rdPlane.h

00001 // rdPlane.h
00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 // Copyright 2002 Realistic Dynamics, Inc.
00004 // All rights reserved.
00005 //
00006 // Please do not read, copy, distribute, or use without permission.
00007 // Contact: Frank C. Anderson, fca@RealisticDynamics.com
00008 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00009 #ifndef __rdPlane_h__
00010 #define __rdPlane_h__
00011 
00012 // INCLUDES
00013 #include "rdTools.h"
00014 #include "rdObject.h"
00015 
00016 class rdLine;
00017 
00018 //=============================================================================
00019 //=============================================================================
00023 class RDTOOLS_API rdPlane : public rdObject
00024 {
00025 //=============================================================================
00026 // DATA
00027 //=============================================================================
00028 private:
00030    double _point[3];
00032    double _normal[3];
00033 
00034 //=============================================================================
00035 // METHODS
00036 //=============================================================================
00037 public:
00038    //--------------------------------------------------------------------------
00039    // CONSTRUCTION
00040    //--------------------------------------------------------------------------
00041    rdPlane(double aPX,double aPY,double aPZ,
00042       double aP2X,double aP2Y,double aP2Z,
00043       double aP3X,double aP3Y,double aP3Z);
00044    rdPlane(double aPX,double aPY,double aPZ,const double aNormal[3]);
00045    virtual ~rdPlane();
00046 private:
00047    void setNull();
00048 
00049    //--------------------------------------------------------------------------
00050    // GET AND SET
00051    //--------------------------------------------------------------------------
00052 public:
00053    void setPoint(double aPX,double aPY,double aPZ);
00054    void getPoint(double rPoint[3]) const;
00055    void setNormal(const double aNormal[3]);
00056    void getNormal(double rNormal[3]) const;
00057 
00058    //--------------------------------------------------------------------------
00059    // ANALYTIC GEOMETRY
00060    //--------------------------------------------------------------------------
00061    int computeIntersection(const rdLine *aLine,double rPoint[3]) const;
00062 
00063 //=============================================================================
00064 }; // END class rdPlane
00065 //=============================================================================
00066 //=============================================================================
00067 
00068 #endif  // __rdPlane_h__

Generated on Wed Aug 20 02:17:06 2003 for Simulation Software by doxygen1.3