⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testcollect.c

📁 Pro.TOOLKIT.Wildfire插件设计.配套光盘-141M.zip
💻 C
📖 第 1 页 / 共 5 页
字号:
	}		/* 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 + -