FEMM/femm/cd_nosebl.h

186 lines
3.1 KiB
C++

namespace cdrawdata
{
/////////////////////////////////////////////////////////////////////////////
// CNode -- structure that holds information about each control point.
class CNode
{
public:
CNode();
double x,y;
int xs,ys;
BOOL IsSelected;
CString BoundaryMarker;
CString InConductor;
int InGroup;
double GetDistance(double xo, double yo);
CComplex CC();
void ToggleSelect();
private:
};
/////////////////////////////////////////////////////////////////////////////
// CSegment -- structure that holds information about lines joining control pts
class CSegment
{
public:
CSegment();
int n0,n1;
BOOL IsSelected;
BOOL Hidden;
double MaxSideLength;
CString BoundaryMarker;
CString InConductor;
int InGroup;
void ToggleSelect();
private:
};
class CArcSegment
{
public:
CArcSegment();
int n0,n1;
BOOL NormalDirection;
BOOL IsSelected;
BOOL Hidden;
double MaxSideLength,ArcLength,mySideLength;
CString BoundaryMarker;
CString InConductor;
int InGroup;
void ToggleSelect();
private:
};
/////////////////////////////////////////////////////////////////////////////
// CBlockLabel -- structure that holds block label information
class CBlockLabel
{
public:
CBlockLabel();
double x,y;
double MaxArea;
BOOL IsSelected;
CString BlockType;
int InGroup;
BOOL IsExternal;
BOOL IsDefault;
void ToggleSelect();
double GetDistance(double xo, double yo);
private:
};
class CMaterialProp
{
public:
CMaterialProp();
~CMaterialProp();
CString BlockName;
double ex,ey; // relative permittivity for (possibly anisotropic) regions
double ltx,lty; // loss tangent related to the permittivity
double ox,oy; // conductivity in MS/m
private:
};
class CBoundaryProp
{
public:
CBoundaryProp();
CString BdryName;
int BdryFormat; // type of boundary condition we are applying
// 0 = Fixed Voltage
// 1 = Mixed BC
// 2 = Surface Current Density
// 3 = Periodic
// 4 = Antiperiodic
CComplex vs; // Fixed value of V for BdryFormat=0;
CComplex c0,c1; // Coefficients for BdryFormat=1;
CComplex qs; // Surface current density for Bdryformat=2;
private:
};
class CPointProp
{
public:
CPointProp();
CString PointName;
CComplex vp; // prescribed nodal temperature
CComplex qp; // point heat generation
private:
};
class CCircuit
{
public:
CCircuit();
CString CircName;
CComplex vc;
CComplex qc;
int CircType;
private:
};
class CPeriodicBoundary
{
public:
CPeriodicBoundary();
CString BdryName;
int BdryFormat; // 0 = Periodic
// 1 = Antiperiodic
int nseg; // number of segs with this bc
int narc; // number of arcs with this bc
int seg[2]; // (arc)segments to which is applied
private:
};
class CCommonPoint
{
public:
CCommonPoint();
void Order();
int x,y,t;
private:
};
}
using namespace cdrawdata;