31 PutTo( vP1, vP2, vP3, vP4 );
66 PutTo( vP1, vP2, vP3, vP4 );
76 PutTo( vP1, vP2, vP3, vP4 );
98 double SS2 = ((
P1-
P2)%(
P3-
P2)).Len();
100 if( SS2 < fabs(1.e-9) )SS2 = 0.;
111 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P1.
x,
P1.
y,
P1.
z );
112 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P2.
x,
P2.
y,
P2.
z );
113 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P3.
x,
P3.
y,
P3.
z );
114 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P4.
x,
P4.
y,
P4.
z );
124 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P4.
x, -
P4.
y,
P4.
z );
125 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P3.
x, -
P3.
y,
P3.
z );
126 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P2.
x, -
P2.
y,
P2.
z );
127 fprintf( ff,
"% 12.7f % 12.7f % 12.7f",
P1.
x, -
P1.
y,
P1.
z );
132 sprintf(
ElSet,
"%s_%s_%i", WingFus, Struct, StructNr);
double S(void)
returns the panel area
int IdP3
No. of the 3rd corner of the panel.
void Vout(FILE *ff)
prints corners coordinates to stream ff
void Center(void)
calculates the coordinates (Pc) of the central point of the panel
int IdP2
No. of the 2nd corner of the panel.
VECTOR_3D P2
the coordinates of the 2nd corner of the panel
int IdP4
No. of the 4th corner of the panel.
VECTOR_3D P3
the coordinates of the 3rd corner of the panel
PANEL(void)
default constructor
void Mirror(void)
makes a mirror with respect to xz plane, saves the order (CW or CCW) of corners
VECTOR_3D P4
the coordinates of the 4th corner of the panel
int IdP1
No. of the 1st corner of the panel.
void CheckType(void)
checks the type of panel
void Iout(FILE *ff)
prints corners numbers to stream ff
void PutTo(VECTOR_3D vP1, VECTOR_3D vP2, VECTOR_3D vP3, VECTOR_3D vP4)
sets the corners (coordinates)
int IdP6
No. of the mid-point of the 2nd side of the panel.
int IdP8
No. of the mid-point of the 4th side of the panel.
void ELset(const char *WingFus, char *Struct, int StructNr)
sets panel info for FEM analysis to string ELSet
VECTOR_3D Pc
the coordinates of the central point of the panel
VECTOR_3D * PP[4]
pointers to four corners (VECTOR_3D) of the panel
char ElSet[256]
info for FEM analysis
void Clear(void)
clears and assignes pointers to corners
int IdP7
No. of the mid-point of the 3rd side of the panel.
void PutTo_n(VECTOR_3D vP1, VECTOR_3D vP2, VECTOR_3D vP3, VECTOR_3D vP4)
sets the corners (ccordinates) and changes the sign of y coordinate
int IdP5
No. of the mid-point of the 1st side of the panel.
VECTOR_3D P1
the coordinates of the 1st corner of the panel
void PutTo_0(VECTOR_3D vP1, VECTOR_3D vP2, VECTOR_3D vP3, VECTOR_3D vP4)
sets the corners (ccordinates) and changes the coordinate to zero
void VoutR(FILE *ff)
prints corners mirror (with respect to xz plane) coordinates to stream ff
int Type
type of panel: 0 - rectangle; 2, 3, 4 - triangle ( corner no. Type is doubled )
Vector 3D class - vector manipulation.
This file contains declaration of PANEL class.