00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef CircPatch_h
00031 #define CircPatch_h
00032
00033 #include <Patch.h>
00034 #include <Vector.h>
00035
00036 class Cell;
00037 class Matrix;
00038
00039 class CircPatch: public Patch
00040 {
00041 public:
00042
00043 CircPatch();
00044 CircPatch(int materialID, int numSubdivCircunf, int numSubdivRadial,
00045 const Vector ¢erPosition, double internRadius,
00046 double externRadius, double initialAngle, double finalAngle);
00047
00048 ~CircPatch();
00049
00050
00051
00052 void setMaterialID (int materialID);
00053 void setDiscretization (int numSubdivCircunf, int numSubdivRadial);
00054 void setCenterPosition (const Vector & centerPosition);
00055 void setRadii (double internRadius, double externRadius);
00056 void setAngles (double initialAngle, double finalAngle);
00057
00058
00059
00060 int getMaterialID (void) const;
00061 int getNumCells (void) const;
00062 Cell **getCells (void) const;
00063 Patch *getCopy (void) const;
00064
00065 void getDiscretization (int &numSubdivCircunf, int &numSubdivRadial) const;
00066 void getRadii (double &internRadius, double &externRadius) const;
00067 void getAngles (double &initialAngle, double &finalAngle) const;
00068 const Vector &getCenterPosition (void) const;
00069
00070 void Print(OPS_Stream &s, int flag =0) const;
00071 friend OPS_Stream &operator<<(OPS_Stream &s, CircPatch &CircPatch);
00072
00073 protected:
00074
00075 private:
00076 int matID;
00077 int nDivCirc, nDivRad;
00078 Vector centerPosit;
00079 double intRad, extRad;
00080 double initAng, finalAng;
00081 };
00082
00083
00084 #endif
00085
00086