Página Principal | Lista Alfabética | Lista de Componentes | Lista de Arquivos | Componentes Membros | Arquivos Membros

crs.h

Vá para a documentação deste arquivo.
00001 
00002 /*
00003 ** ---------------------------------------------------------------
00004 **
00005 ** @name Process Cross para pórticos planos indeslocáveis
00006 **
00007 ** ---------------------------------------------------------------
00008 **
00009 ** @date    08-Set-2004
00010 ** @author  Luiz F. Martha
00011 ** @version 1.0
00012 **
00013 ** ---------------------------------------------------------------
00014 **
00015 ** Este é o arquivo cabeçalho (header) da solução de pórticos
00016 ** planos indeslocáveis pelo Processo de Cross.
00017 **
00018 ** Este arquivo se refere ao terceiro trabalho da disciplina 
00019 ** CIV2801 - Fundamentos de Computacao Grafica Aplicada, 
00020 ** período 2004.2, Depto. de Eng. Civil, PUC-Rio.
00021 **
00022 ** Para uma descrição do Processo de Cross, veja notas de aula
00023 ** da disciplina CIV1127 - Analise de Estruturas II, Depto. de
00024 ** Eng. Civil, PUC-Rio.
00025 **
00026 ** ----------------------------------------------------------------
00027 **
00028 ** Revisões e modificações:
00029 ** - Relate as modificações aqui, incluindo nome e data.
00030 ** - Modificado em 03/out/2004 para terceiro trabalho:
00031 **   Macro definições ROT_FREE e ROT_FIX foram exportadas.
00032 **   Modificada função crsSolveModel para não reinicilizar
00033 **   processo iterativo: eliminado parâmetro de tolerância.
00034 **   Criadas funções crsResetSolution, crsStepSolution, 
00035 **   crsChkNodeEquilibrium, crsProcessNode, crsGetGlobalBox e 
00036 **   crsPickNode.
00037 **
00038 */
00039 
00040 #ifndef _CRS_H
00041 #define _CRS_H
00042 
00043 
00044 /*
00045 ** ---------------------------------------------------------------
00046 ** Macro-definições exportadas:
00047 */
00050 #define CRS_SUCCESS             1
00051 
00055 #define CRS_NO_STEP_TO_GO       0
00056 
00059 #define CRS_FAILURE            -1
00060 
00064 #define CRS_NO_MODEL_DEFINED   -2
00065 
00068 #define CRS_FIXED_NODE         -3
00069 
00072 #define ROT_FREE 0
00073 
00076 #define ROT_FIX 1
00077 
00078 /*
00079 ** ---------------------------------------------------------------
00080 ** Protótipo das funções exportadas:
00081 */
00082 
00083 #ifdef __cplusplus
00084 extern "C" {
00085 #endif
00086 
00087 void *crsInitModel( int maxnodes, int maxmembers );
00088 void crsActivateModel( void *model );
00089 void crsFreeModel( void *model );
00090 int  crsAddNode( double x, double y );
00091 void crsFixNodeRot( int id );
00092 void crsFreeNodeRot( int id );
00093 int  crsAddMember( int node0, int node1 );
00094 void crsFixMemberEndRot( int id, int end );
00095 void crsFreeMemberEndRot( int id, int end );
00096 void crsMemberElasticity( int id, double E );
00097 void crsMemberInertia( int id, double I );
00098 void crsMemberUnifLoad( int id, double q );
00099 int  crsCompleteModel( void );
00100 int  crsResetSolution( double mom_tol );
00101 int  crsSolveModel( void );
00102 int  crsStepSolution( void );
00103 int  crsChkNodeUnbalance( int id );
00104 int  crsProcessNode( int id );
00105 int  crsGetNumNodes( void );
00106 void crsGetNodeCoords( int id, double *x, double *y );
00107 int  crsGetNumMembers( void );
00108 void crsGetMemberNodes( int id, int *node0, int *node1 );
00109 void crsGetMemberRotLibs( int id, int *rotlib0, int *rotlib1 );
00110 void crsGetMemberUnifLoad( int id, double *q );
00111 void crsGetMemberMoments( int id, double *m0, double *m1 );
00112 int  crsGetGlobalBox( double *xmin, double *xmax, double *ymin, double *ymax );
00113 int  crsPickNode( double x, double y, double tol );
00114 
00115 #ifdef __cplusplus
00116 }
00117 #endif
00118 
00119 #endif
00120 

Gerado em Tue Oct 5 04:55:00 2004 para Trab3 por doxygen 1.3.4