home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 January / Chip_1997-01_cd.bin / ms95 / disk22 / dir02 / f014420.re_ / f014420.re
Text File  |  1996-04-02  |  10KB  |  294 lines

  1. /*----------------------------------------------------------------------+
  2. |                                    |
  3. |  Copyright (1995) Bentley Systems, Inc., All rights reserved.        |
  4. |                                    |
  5. |  "MicroStation" is a registered trademark and "MDL" and "MicroCSL"    |
  6. |  are trademarks of Bentley Systems, Inc.                    |
  7. |                                    |
  8. |  Limited permission is hereby granted to reproduce and modify this    |
  9. |  copyrighted material provided that the resulting code is used only     |
  10. |  in conjunction with Bentley Systems products under the terms of the    |
  11. |  license agreement provided therein, and that this notice is retained    |
  12. |  in its entirety in any such reproduction or modification.        |
  13. |                                    |
  14. +----------------------------------------------------------------------*/
  15. /*----------------------------------------------------------------------+
  16. |                                    |
  17. |    $Logfile:   J:/mdl/examples/doc/params.mcv  $
  18. |   $Workfile:   params.mc  $
  19. |   $Revision:   5.2  $
  20. |       $Date:   20 Jun 1995 08:49:48  $
  21. |                                    |
  22. +----------------------------------------------------------------------*/
  23. /*----------------------------------------------------------------------+
  24. |                                    |
  25. |   params.mc - examples for the mdlParams_ functions.            |
  26. |                                    |
  27. |   This file is intended as an adjunct to the MDL manual to        |
  28. |   illustrate MDL built-in function calling conventions and parameter    |
  29. |   values. While it can be compiled, it does NOT, on its own,        |
  30. |   constitute a workable MDL example.                    |
  31. |                                    |
  32. +----------------------------------------------------------------------*/
  33. /*----------------------------------------------------------------------+
  34. |                                    |
  35. |   Include Files                               |
  36. |                                    |
  37. +----------------------------------------------------------------------*/
  38. #include    <mdl.h>        /* system include files */
  39. #include    <global.h>
  40. #include    <mselems.h>
  41.  
  42. /*----------------------------------------------------------------------+
  43. |                                    |
  44. | name        dumpActiveParameters                    |
  45. |                                    |
  46. | author    BSI                     7/90        |
  47. |                                    |
  48. +----------------------------------------------------------------------*/
  49. Public void    dumpActiveParameters
  50. (
  51. void    
  52. )
  53.     {
  54.     Dpoint3d    tPt;
  55.     double    dTemp, dTemp1;
  56.     int        color, temp, param;
  57.     char    name[30];
  58.  
  59.     mdlCurrTrans_begin();
  60.     mdlCurrTrans_masterUnitsIdentity (TRUE);
  61.             
  62.     /* active color number and name */
  63.     mdlParams_getActive (&color, ACTIVEPARAM_COLOR);
  64.     mdlParams_getActive (name,   ACTIVEPARAM_COLOR_BY_NAME);
  65.     printf ("color=[%d], [%s]\n", color, name);
  66.  
  67.     /* active line style */
  68.     mdlParams_getActive (&temp, ACTIVEPARAM_LINESTYLE);
  69.     printf ("linestyle=%d\n", temp);
  70.     
  71.     /* active line weight */
  72.     mdlParams_getActive (&temp, ACTIVEPARAM_LINEWEIGHT);
  73.     printf ("lineweight=%d\n", temp);
  74.     
  75.     /* active level */
  76.     mdlParams_getActive (&temp, ACTIVEPARAM_LEVEL);
  77.     printf ("level=%d\n", temp);
  78.     
  79.     /* active angle */
  80.     mdlParams_getActive (&dTemp, ACTIVEPARAM_ANGLE);
  81.     printf ("angle=%f\n", dTemp);
  82.     
  83.     /* active scale */
  84.     mdlParams_getActive (&tPt, ACTIVEPARAM_SCALE);
  85.     printf ("scale factors=[%f,%f,%f]\n", tPt.x, tPt.y, tPt.z);
  86.  
  87.     /* active font */
  88.     mdlParams_getActive (&temp, ACTIVEPARAM_FONT);
  89.     printf ("Font=%d\n", temp);
  90.     
  91.     /* active grid units and grids per reference grid */
  92.     mdlParams_getActive (&dTemp, ACTIVEPARAM_GRIDUNITS);
  93.     mdlParams_getActive (&temp, ACTIVEPARAM_GRIDREF);
  94.     printf ("grid units=%f, grids per ref = %d\n", dTemp, temp);
  95.     
  96.     /* active text size */
  97.     mdlParams_getActive (&dTemp, ACTIVEPARAM_TEXTHEIGHT);
  98.     mdlParams_getActive (&dTemp1, ACTIVEPARAM_TEXTWIDTH);
  99.     printf ("text width=%f, height=%f\n", dTemp);
  100.  
  101.     /* active unit roundoff */
  102.     mdlParams_getActive (&dTemp, ACTIVEPARAM_UNITROUNDOFF);
  103.     printf ("unit roundoff=%f\n", dTemp);
  104.     
  105.     /* text justification */
  106.     mdlParams_getActive (&temp, ACTIVEPARAM_TEXTJUST);
  107.     printf ("Text just=%d\n", temp);
  108.     
  109.     /* text node justification */
  110.     mdlParams_getActive (&temp, ACTIVEPARAM_NODEJUST);
  111.     printf ("Node just=%d\n", temp);
  112.     
  113.     /* active cell name */
  114.     mdlParams_getActive (name, ACTIVEPARAM_CELLNAME);
  115.     printf ("Cell=[%s]\n", name);
  116.     
  117.     /* active line length */
  118.     mdlParams_getActive (&temp, ACTIVEPARAM_LINELENGTH);
  119.     printf ("line length=%d\n", temp);
  120.     
  121.     /* active line spacing */
  122.     mdlParams_getActive (&dTemp, ACTIVEPARAM_LINESPACING);
  123.     printf ("line spacing=%f\n", dTemp);
  124.     
  125.     /* active line terminator */
  126.     mdlParams_getActive (name, ACTIVEPARAM_TERMINATOR);
  127.     printf ("Terminator Cell=%s\n", name);
  128.  
  129.     /* active line terminator scale */
  130.     mdlParams_getActive (&dTemp, ACTIVEPARAM_TERMINATORSCALE);
  131.     printf ("Line terminator scale factor =%d\n", dTemp);
  132.     
  133.     /* active tag increment */
  134.     mdlParams_getActive (&temp, ACTIVEPARAM_TAGINCREMENT);
  135.     printf ("tag incr=%d\n", temp);
  136.     
  137.     /* active tab for "INCLUDE TEXT" command */
  138.     mdlParams_getActive (&temp, ACTIVEPARAM_TAB);
  139.     printf ("tab=%d\n", temp);
  140.     
  141.     /* digitizing parameters */
  142.     mdlParams_getActive (&dTemp, ACTIVEPARAM_STREAMDELTA);
  143.     printf ("stream delta=%f\n", dTemp);
  144.     mdlParams_getActive (&dTemp, ACTIVEPARAM_STREAMTOLERANCE);
  145.     printf ("stream tol=%f\n", dTemp);
  146.     mdlParams_getActive (&dTemp, ACTIVEPARAM_STREAMANGLE);
  147.     printf ("stream angle=%f\n", dTemp);
  148.     mdlParams_getActive (&dTemp, ACTIVEPARAM_STREAMAREA);
  149.     printf ("stream area=%f\n", dTemp);
  150.     
  151.     /* active point */
  152.     mdlParams_getActive (name, ACTIVEPARAM_POINT);
  153.     printf ("point cell=%s\n", name);
  154.     
  155.     /* keypoint divisor */
  156.     mdlParams_getActive (&temp, ACTIVEPARAM_KEYPOINT);
  157.     printf ("active keypnt=%d\n", temp);
  158.     
  159.     /* patterning parameters */
  160.     mdlParams_getActive (&tPt, ACTIVEPARAM_PATTERNDELTA);
  161.     printf ("pattern delta=[%f,%f]\n", tPt.x, tPt.y);
  162.     mdlParams_getActive (&tPt, ACTIVEPARAM_PATTERNANGLE);
  163.     printf ("pattern angle=[%f,%f]\n", tPt.x, tPt.y);
  164.     mdlParams_getActive (&dTemp, ACTIVEPARAM_PATTERNSCALE);
  165.     printf ("pattern scale=%f\n", dTemp);
  166.     mdlParams_getActive (name, ACTIVEPARAM_PATTERNCELL);
  167.     printf ("pattern cell=%s\n", name);
  168.     
  169.     /* active area mode */
  170.     mdlParams_getActive (&temp, ACTIVEPARAM_AREAMODE);
  171.     printf ("area mode=%d\n", temp);
  172.     
  173.     /* active axis angle */
  174.     mdlParams_getActive (&dTemp, ACTIVEPARAM_AXISANGLE);
  175.     printf ("axis angle=%f\n", dTemp);
  176.     
  177.     /* capped surface mode */
  178.     mdlParams_getActive (&temp, ACTIVEPARAM_CAPMODE);
  179.     printf ("cap mode=%s\n", temp ? "ON" : "OFF");
  180.     
  181.     /* grid mode */
  182.     mdlParams_getActive (&temp, ACTIVEPARAM_GRIDMODE);
  183.     printf ("grid mode = %s\n", temp ? "ISO" : "NORMAL");
  184.     
  185.     /* active drawing class */
  186.     mdlParams_getActive (&temp, ACTIVEPARAM_CLASS);
  187.     printf ("class=%d\n", temp);
  188.     
  189.     /* active grid ratio (if ISO mode is enabled) */
  190.     mdlParams_getActive (&dTemp, ACTIVEPARAM_GRIDRATIO);
  191.     printf ("grid ratio=%f\n", dTemp);
  192.     
  193.     /* active fill mode */
  194.     mdlParams_getActive (&temp, ACTIVEPARAM_FILLMODE);
  195.     printf ("fill mode=%d\n", temp ? "ON" : "OFF");
  196.  
  197.     mdlCurrTrans_end ();
  198.     }
  199.  
  200. /*----------------------------------------------------------------------+
  201. |                                    |
  202. | name        setParamsToKnownValues                    |
  203. |                                    |
  204. | author    BSI                     8/90        |
  205. |                                    |
  206. +----------------------------------------------------------------------*/
  207. Public void    setParamsToKnownValues
  208. (
  209. void
  210. )
  211.     {
  212.     Dpoint3d    tPt;
  213.     double    dTemp;
  214.  
  215.     mdlCurrTrans_begin();
  216.     mdlCurrTrans_masterUnitsIdentity (TRUE);
  217.     
  218. #if defined (useColorName)
  219.     mdlParams_setActive ("RED", ACTIVEPARAM_COLOR_BY_NAME);
  220. #else
  221.     mdlParams_setActive (1, ACTIVEPARAM_COLOR);
  222. #endif
  223.     
  224.     mdlParams_setActive (3, ACTIVEPARAM_LINESTYLE);
  225.     mdlParams_setActive (4, ACTIVEPARAM_LINEWEIGHT);
  226.     mdlParams_setActive (44, ACTIVEPARAM_LEVEL);
  227.     
  228.     dTemp = 101.1;
  229.     mdlParams_setActive (&dTemp, ACTIVEPARAM_ANGLE);
  230.     mdlParams_setActive (55, ACTIVEPARAM_FONT);
  231.  
  232.     tPt.x = 1.1;
  233.     tPt.y = 2.2;
  234.     tPt.z = 3.3;
  235.     mdlParams_setActive (&tPt, ACTIVEPARAM_SCALE);
  236.     dTemp = 12;
  237.     mdlParams_setActive (&dTemp, ACTIVEPARAM_GRIDUNITS);
  238.     mdlParams_setActive (4, ACTIVEPARAM_GRIDREF);
  239.  
  240.     dTemp = 1.1;
  241.     mdlParams_setActive (&dTemp, ACTIVEPARAM_TEXTHEIGHT);
  242.  
  243.     dTemp = 1.2;
  244.     mdlParams_setActive (&dTemp, ACTIVEPARAM_TEXTWIDTH);
  245.  
  246.     dTemp = 2.1;
  247.     mdlParams_setActive (&dTemp, ACTIVEPARAM_UNITROUNDOFF);
  248.     mdlParams_setActive (5, ACTIVEPARAM_TEXTJUST);
  249.     mdlParams_setActive (3, ACTIVEPARAM_NODEJUST);
  250.  
  251.     mdlParams_setActive ("TRUCK", ACTIVEPARAM_CELLNAME);
  252.     mdlParams_setActive (33, ACTIVEPARAM_LINELENGTH);
  253.     dTemp = 1.7;
  254.     mdlParams_setActive (&dTemp, ACTIVEPARAM_LINESPACING);
  255.  
  256.     mdlParams_setActive ("ARROW", ACTIVEPARAM_TERMINATOR);
  257.     mdlParams_setActive (2, ACTIVEPARAM_TAGINCREMENT);
  258.     mdlParams_setActive (9, ACTIVEPARAM_TAB);
  259.  
  260.     dTemp = 4.2;
  261.     mdlParams_setActive (&dTemp, ACTIVEPARAM_STREAMDELTA);
  262.     dTemp = 4.104;
  263.     mdlParams_setActive (&dTemp, ACTIVEPARAM_STREAMTOLERANCE);
  264.     dTemp = 11.;
  265.     mdlParams_setActive (&dTemp, ACTIVEPARAM_STREAMANGLE);
  266.  
  267.     dTemp = 3.2;
  268.     mdlParams_setActive (&dTemp, ACTIVEPARAM_STREAMAREA);
  269.     mdlParams_setActive ("SQUARE", ACTIVEPARAM_POINT);
  270.     mdlParams_setActive (4, ACTIVEPARAM_KEYPOINT);
  271.  
  272.     tPt.x = 5.5;
  273.     tPt.y = 6.6;
  274.     mdlParams_setActive (&tPt, ACTIVEPARAM_PATTERNDELTA);
  275.     tPt.x = 7.7;
  276.     tPt.y = 8.8;
  277.     mdlParams_setActive (&tPt, ACTIVEPARAM_PATTERNANGLE);
  278.     dTemp = 9.9;
  279.     mdlParams_setActive (&dTemp, ACTIVEPARAM_PATTERNSCALE);
  280.     mdlParams_setActive ("HASH", ACTIVEPARAM_PATTERNCELL);
  281.  
  282.     mdlParams_setActive (1, ACTIVEPARAM_AREAMODE);
  283.     dTemp = 10.1;
  284.     mdlParams_setActive (&dTemp, ACTIVEPARAM_AXISANGLE);
  285.     mdlParams_setActive (1, ACTIVEPARAM_CAPMODE);
  286.     mdlParams_setActive (1, ACTIVEPARAM_GRIDMODE);
  287.     
  288.     mdlParams_setActive (3, ACTIVEPARAM_CLASS);
  289.     dTemp =2.1;
  290.     mdlParams_setActive (&dTemp, ACTIVEPARAM_GRIDRATIO);
  291.     mdlParams_setActive (1, ACTIVEPARAM_FILLMODE);
  292.     mdlCurrTrans_end ();
  293.     }
  294.