📄 testcollect.c
字号:
} /* Print the num of objs per frame */ fprintf( fp_out, "%d\t%d\n", i_frame, n_objs ); for( i_obj=0; i_obj<n_objs; i_obj++ ) { status = ProAnimframeObjRemove( p_frames[i_frame], p_objs[i_obj] ); TEST_CALL_REPORT( "ProAnimframeObjRemove()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); status = ProAnimobjectDelete( p_objs[i_obj] ); TEST_CALL_REPORT( "ProAnimobjectDelete()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); } if( p_objs != NULL ) { status = ProArrayFree( (ProArray*)&p_objs ); TEST_CALL_REPORT( "ProArrayFree()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); } /* Remove frame from the movie */ status = ProAnimmovieFrameRemove( animation_movie, p_frames[i_frame] ); TEST_CALL_REPORT( "ProAnimmovieFrameRemove()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); /* Delete frame */ status = ProAnimframeDelete( p_frames[i_frame] ); TEST_CALL_REPORT( "ProAnimframeDelete()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); } /* Delete movie */ status = ProAnimmovieDelete( animation_movie ); TEST_CALL_REPORT( "ProAnimmovieDelete()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); if( p_frames != NULL ) { status = ProArrayFree( (ProArray*)&p_frames ); TEST_CALL_REPORT( "ProArrayFree()", "ProTestCollectAnimation()", status, status != PRO_TK_NO_ERROR); } return (0);}/*=========================================================================*\ Function: ProUtilSelectedSurfaceGet() Purpose: Retrieves a handle of the selected surface from the selection object. Returns: PRO_TK_NO_ERROR - The function successfully get the surface. PRO_TK_GENERAL_ERROR - Error. Note: \*=========================================================================*/ProError ProUtilSelectedSurfaceGet( ProSelection selection, /* In: Selection object */ ProSurface *p_surface ) /* In: Selected surface */{ ProModelitem model_item; ProError status; /* Check out the input parameters */ if( p_surface == NULL ) return PRO_TK_GENERAL_ERROR; /* Get the model item from a selection object. */ status = ProSelectionModelitemGet( selection, &model_item ); TEST_CALL_REPORT( "ProSelectionModelitemGet()", "ProUtilSelectedSurfaceGet()", status, status != PRO_TK_NO_ERROR); if( status == PRO_TK_NO_ERROR ) { if( model_item.type == PRO_SURFACE ) { /* Retrieve the surface. */ status = ProGeomitemToSurface( &model_item, p_surface ); TEST_CALL_REPORT( "ProGeomitemToSurface()", "ProUtilSelectedSurfaceGeton()", status, status != PRO_TK_NO_ERROR); if( status == PRO_TK_NO_ERROR ) return PRO_TK_NO_ERROR; } } return (PRO_TK_GENERAL_ERROR);}/*=========================================================================*\ Function: ProUtilSelectedCurveGet() Purpose: Retrieves a handle of the selected surface from the selection object. Returns: PRO_TK_NO_ERROR - The function successfully get the surface. PRO_TK_GENERAL_ERROR - Error. Note: \*=========================================================================*/ProError ProUtilSelectedCurveGet( ProSelection selection, /* In: Selection object */ ProCurve *p_curve /* In: Selected surface */){ ProModelitem model_item; ProError status; /* Check out the input parameters */ if( p_curve == NULL ) return PRO_TK_GENERAL_ERROR; /* Get the model item from a selection object. */ status = ProSelectionModelitemGet( selection, &model_item ); TEST_CALL_REPORT( "ProSelectionModelitemGet()", "ProUtilSelectedCurveGet()", status, status != PRO_TK_NO_ERROR); if( status == PRO_TK_NO_ERROR ) { if( model_item.type == PRO_CURVE ) { /* Retrieve the curve. */ status = ProGeomitemToCurve( &model_item, p_curve ); TEST_CALL_REPORT( "ProGeomitemToCurve()", "ProUtilSelectedCurveGet()", status, status != PRO_TK_NO_ERROR); if( status == PRO_TK_NO_ERROR ) return PRO_TK_NO_ERROR; } } return (PRO_TK_GENERAL_ERROR);}/*=========================================================================*\ Function: ProUtilXRot() Purpose: Add x rotation values to the transformation matrix. Returns: None Note: Only the rotation components of the matrix are modified.\*=========================================================================*/void ProUtilXRot( double angle, /* (In) The rotation angle */ ProMatrix mx ) /* (Out) The transformation matrix */{ mx[0][0] = 1.0; mx[0][1] = mx[0][2] = mx[1][0] = mx[2][0] = 0.0; mx[1][1] = mx[2][2] = cos( angle * PI / 180.0); mx[1][2] = sin( angle * PI / 180.0); mx[2][1] = - mx[1][2];}/*~~=========================================================================*\ File: TestCollect.c Function: ProTestCollectSolidCsys() Purpose: On button function. Test csys collection. Returns: 0 if successful, non-zero otherwise.\*=========================================================================*/int ProTestCollectSolidCsys( ProAppData p_appdata, int int_dummy ){ ProError status; ProMdl p_model; ProCsys *p_csys; ProGeomitem geom_item; ProName w_name; ProCharName name; int n; int i; /* Print the header */ fprintf( fp_out, "\n# Solid CSYS\n" ); p_model = *((ProMdl*)p_appdata); /* Get solid csys */ status = ProUtilCollectSolidCsys( (ProSolid)p_model, &p_csys ); /* Print out obtained csys */ if( status == PRO_TK_NO_ERROR ) { /* Get the array size */ n = 0; status = ProArraySizeGet( p_csys, &n ); TEST_CALL_REPORT( "ProArraySizeGet()", "ProTestCollectSolidCsys()", status, status != PRO_TK_NO_ERROR); /* Print out the csys array */ fprintf( fp_out, "Number of solid csys:\t%d\n", n ); for( i=0; i<n; i++ ) { /* Get the csys name */ status = ProCsysToGeomitem( (ProSolid)p_model, p_csys[i], &geom_item ); TEST_CALL_REPORT( "ProCsysToGeomitem()", "ProTestCollectSolidCsys()", status, status != PRO_TK_NO_ERROR); status = ProModelitemNameGet( &geom_item, w_name ); TEST_CALL_REPORT( "ProModelitemNameGet()", "ProTestCollectSolidCsys()", status, status != PRO_TK_NO_ERROR); ProWstringToString( name, w_name ); fprintf( fp_out, "%s\n", name ); } status = ProArrayFree( (ProArray*)&p_csys ); TEST_CALL_REPORT( "ProArrayFree()", "ProTestCollectSolidCsys()", status, status != PRO_TK_NO_ERROR); } return status;}/*=========================================================================*\ File: TestCollect.c Function: ProTestCollectSolidAxis() Purpose: On button function. Test axis collection. Returns: 0 if successful, non-zero otherwise.\*=========================================================================*/int ProTestCollectSolidAxis( ProAppData p_appdata, int int_dummy ){ ProError status; ProMdl p_model; ProAxis *p_axis; ProGeomitem geom_item; ProName w_name; ProCharName name; int n; int i; /* Print the header */ fprintf( fp_out, "\n# Solid axis\n" ); p_model = *((ProMdl*)p_appdata); /* Get solid axis */ status = ProUtilCollectSolidAxis( (ProSolid)p_model, &p_axis ); /* Print out obtained axis */ if( status == PRO_TK_NO_ERROR ) { /* Get the array size */ n = 0; status = ProArraySizeGet( p_axis, &n ); TEST_CALL_REPORT( "ProArraySizeGet()", "ProTestCollectSolidAxis()", status, status != PRO_TK_NO_ERROR); /* Print out the axis array */ fprintf( fp_out, "Number of solid axis:\t%d\n", n ); for( i=0; i<n; i++ ) { /* Get the axis name */ ProAxisToGeomitem( (ProSolid)p_model, p_axis[i], &geom_item ); ProModelitemNameGet( &geom_item, w_name ); ProWstringToString( name, w_name ); fprintf( fp_out, "%s\n", name ); } status = ProArrayFree( (ProArray*)&p_axis ); TEST_CALL_REPORT( "ProArrayFree()", "ProTestCollectSolidAxis()", status, status != PRO_TK_NO_ERROR); } return status;}/*=========================================================================*\ File: TestCollect.c Function: ProTestCollectSolidQuilts() Purpose: On button function. Test axis collection. Returns: 0 if successful, non-zero otherwise.\*=========================================================================*/int ProTestCollectSolidQuilts( ProAppData p_appdata, int int_dummy ){#ifndef PT_PRODUCTS_BUILD ProError status; ProMdl p_model; ProQuilt *p_quilts; ProGeomitem geom_item; ProName w_name; ProCharName name; int n; int i; /* Print the header */ fprintf( fp_out, "\n# Solid quilts\n" ); p_model = *((ProMdl*)p_appdata); /* Get solid quilts */ status = ProUtilCollectSolidQuilts( (ProSolid)p_model, &p_quilts ); /* Print out obtained quilts */ if( status == PRO_TK_NO_ERROR ) { /* Get the array size */ n = 0; status = ProArraySizeGet( p_quilts, &n ); TEST_CALL_REPORT( "ProArraySizeGet()", "ProTestCollectSolidQuilts()", status, status != PRO_TK_NO_ERROR); /* Print out the quilts array */ fprintf( fp_out, "Number of solid quilts:\t%d\n", n ); for( i=0; i<n; i++ ) { /* Get the quilt name */ status = ProQuiltToGeomitem( (ProSolid)p_model, p_quilts[i], &geom_item ); TEST_CALL_REPORT( "ProQuiltToGeomitem()", "ProTestCollectSolidQuilts()", status, status != PRO_TK_NO_ERROR); status = ProModelitemNameGet( &geom_item, w_name ); TEST_CALL_REPORT( "ProModelitemNameGet()", "ProTestCollectSolidQuilts()", status, status != PRO_TK_NO_ERROR); ProWstringToString( name, w_name ); fprintf( fp_out, "%s\n", name ); } status = ProArrayFree( (ProArray*)&p_quilts ); TEST_CALL_REPORT( "ProArrayFree()", "ProTestCollectSolidQuilts()", status, status != PRO_TK_NO_ERROR); } return status;#else return PRO_TK_E_NOT_FOUND;#endif}/*=========================================================================*\ File: TestCollect.c Function: ProTestCollectSolidSurfaces() Purpose: On button function. Test surfaces collection. Returns: 0 if successful, non-zero otherwise.\*=========================================================================*/int ProTestCollectSolidSurfaces( ProAppData p_appdata, int int_dummy ){ ProError status; ProMdl p_model; ProSurface *p_surfaces; int n; int i; ProSrftype surf_type; int surf_id; /* Print the header */ fprintf( fp_out, "\n# Solid surfaces\n" ); p_model = *((ProMdl*)p_appdata); /* Get solid surfaces */ status = ProUtilCollectSolidSurfaces( (ProSolid)p_model, &p_surfaces ); /* Print out obtained surfaces */ if( status == PRO_TK_NO_ERROR ) { /* Get the array size */ n = 0; status = ProArraySizeGet( p_surfaces, &n ); TEST_CALL_REPORT( "ProArraySizeGet()", "ProTestCollectSolidSurfaces()", status, status != PRO_TK_NO_ERROR); /* Print out the surface array */ fprintf( fp_out, "Number of solid surfaces:\t%d\n", n ); for( i=0; i<n; i++ ) { /* Get the surface ID */ surf_id = -1; status = ProSurfaceIdGet( p_surfaces[i], &surf_id ); TEST_CALL_REPORT( "ProSurfaceIdGet()", "ProTestCollectSolidSurfaces()",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -