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

rdFunction.h

00001 // rdFunction.cpp
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 __rdFunction_h__
00010 #define __rdFunction_h__
00011 
00012 
00013 // INCLUDES
00014 #include "rdTools.h"
00015 #include "rdObject.h"
00016 
00017 
00018 //=============================================================================
00019 //=============================================================================
00034 class RDTOOLS_API rdFunction : public rdObject
00035 {
00036 //=============================================================================
00037 // DATA
00038 //=============================================================================
00039 public:
00040    static const char DEFAULT_NAME[];
00041    static const char PROP_MIN_X[];
00042    static const char PROP_MIN_Y[];
00043    static const char PROP_MIN_Z[];
00044    static const char PROP_MAX_X[];
00045    static const char PROP_MAX_Y[];
00046    static const char PROP_MAX_Z[];
00047 protected:
00049    double _minX;
00051    double _maxX;
00053    double _minY;
00055    double _maxY;
00057    double _minZ;
00059    double _maxZ;
00060 
00061 //=============================================================================
00062 // METHODS
00063 //=============================================================================
00064 public:
00065    //--------------------------------------------------------------------------
00066    // CONSTRUCTION
00067    //--------------------------------------------------------------------------
00068    rdFunction();
00069    rdFunction(IDOM_Element *aElement);
00070    rdFunction(const rdFunction &aFunction);
00071    virtual ~rdFunction();
00072    virtual rdFunction* copy() const = 0;
00073    virtual rdFunction* copy(IDOM_Element *aElement) const = 0;
00074 private:
00075    void setNull();
00076    void setEqual(const rdFunction &aFunction);
00077 
00078    //--------------------------------------------------------------------------
00079    // OPERATORS
00080    //--------------------------------------------------------------------------
00081 public:
00082    rdFunction& operator=(const rdFunction &aFunction);
00083 
00084    //--------------------------------------------------------------------------
00085    // SET AND GET
00086    //--------------------------------------------------------------------------
00087 public:
00088    void setMinX(double aMinX);
00089    double getMinX() const;
00090    void setMaxX(double aMaxX);
00091    double getMaxX() const;
00092    void setMinY(double aMinY);
00093    double getMinY() const;
00094    void setMaxY(double aMaxY);
00095    double getMaxY() const;
00096    void setMinZ(double aMinZ);
00097    double getMinZ() const;
00098    void setMaxZ(double aMaxZ);
00099    double getMaxZ() const;
00100 
00101    //--------------------------------------------------------------------------
00102    // EVALUATE
00103    //--------------------------------------------------------------------------
00104    virtual void updateBoundingBox() = 0;
00105    virtual double
00106       evaluate(int aDerivOrder,double aX=0.0,double aY=0.0,double aZ=0.0) = 0;
00107 
00108    //--------------------------------------------------------------------------
00109    // XML
00110    //--------------------------------------------------------------------------
00111    virtual void updateObject(bool aDeep=true);
00112    virtual void updateNode(bool aDeep=true);
00113    virtual void generateNode(IDOM_Element *aParent);
00114    void updateData();
00115 
00116 //=============================================================================
00117 }; // END class rdFunction
00118 //=============================================================================
00119 //=============================================================================
00120 
00121 #endif  // __rdFunction_h__

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