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

  1. /*----------------------------------------------------------------------+
  2. |                                    |
  3. |  Copyright (c) 1985-93;  Bentley Systems, Inc., All rights reserved.    |
  4. |                                    |
  5. | "MicroStation", "MDL", and "MicroCSL" are trademarks of Bentley    |
  6. |  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. |   mdllib.fdf -- MDL Library  Function Prototypes            |
  18. |                                    |
  19. |   Current Revision:                            |
  20. |   $Workfile:   mdllib.fdf  $
  21. |   $Revision:   5.63  $  $Date:   25 Oct 1995 08:26:56  $
  22. |                                    |
  23. +----------------------------------------------------------------------*/
  24. #if ! defined (__mdllibFDF__)
  25. #define __mdllibFDF__
  26.  
  27. #if ! defined (__mdlbsplnH__)
  28. #include    <mdlbspln.h>
  29. #endif
  30.  
  31. #if ! defined (__mselemsH__)
  32. #include    <mselems.h>
  33. #endif
  34.  
  35. #if ! defined (__refernceH__)
  36. #include    <refernce.h>
  37. #endif
  38.  
  39. #if   defined (__BSI__)
  40. #include    <mdllib2.fdf>
  41. #endif
  42.  
  43. int mdlElmdscr_createFromVertices
  44. (
  45. MSElementDescr        **edPP,               /* <= line string (or complex chain) */
  46. MSElement        *templateElmP,         /* => template element (or NULL) */
  47. Dpoint3d        *pointP,               /* => vertices */
  48. int            numPoints,             /* => number of vertices */
  49. boolean            closed,               /* => TRUE for closed */
  50. boolean            fillMode               /* => fill mode (if closed) */
  51. );
  52.  
  53. int    mdlACS_createElement
  54. (
  55. MSElement    *elementP,        /* <= element */
  56. char        *name,            /* => ACS Name */
  57. char        *description,        /* => ACS Description */
  58. Dpoint3d    *originP,        /* => ACS Origin */
  59. RotMatrix    *rotMatrixP,        /* => ACS RotMatrix */
  60. int        acsType            /* => ACS Type */
  61. );
  62.  
  63. int mdlACS_extractElement
  64. (
  65. Dpoint3d    *originP,        /* <= origin */
  66. RotMatrix    *rotMatrixP,        /* <= rotation matrix */
  67. int        *type,            /* <= ACS type */
  68. char        *nameP,            /* <= name */
  69. Aux_coordinate    *auxElm            /* => element */
  70. );
  71.  
  72. boolean mdlRMatrix_isOrthonormal
  73. (
  74. RotMatrix   *rP,                /* => Rotation matrix */
  75. int        dimension                /* => matrix dimension (2 or 3) */
  76. );
  77.  
  78. boolean mdlVec_pointOffDesignPlane
  79. (
  80. Dpoint3d    *point                /* => point to check */
  81. );
  82.  
  83. double mdlCnv_uorsToMasterUnits
  84. (
  85. double        uors                /* => uors */
  86. );
  87.  
  88. double mdlCnv_masterUnitsToUors
  89. (
  90. double        masterUnits            /* => master units */
  91. );
  92.  
  93. double mdlCnv_uorsToSubUnits
  94. (
  95. double        uors            /* => uors */
  96. );
  97.  
  98. double mdlCnv_subUnitsToUors
  99. (
  100. double        subUnits            /* => sub units */
  101. );
  102.  
  103. int    mdlRefFile_rotate
  104. (
  105. int        slot,              /* => reference slot (0 - tcb->maxRefs-1) */
  106. Dpoint3d    *pivotP,              /* => pivot point */
  107. double        xRotation,              /* => x rotation (radians) */
  108. double        yRotation,              /* => y rotation (radians) */
  109. double        zRotation,              /* => z rotation (radians) */
  110. int        view              /* => view number */
  111. );
  112.  
  113. int    mdlRefFile_scale
  114. (
  115. int        slot,              /* => reference slot (0 - tcb->maxRefs-1) */
  116. Dpoint3d    *scalePointP,          /* => point to scale about */
  117. double        scale              /* => scale factor (applied to existing scale) */
  118. );
  119.  
  120. int    mdlRefFile_createAttachment
  121. (
  122. short        *type5ElmP,        /* <= type 5 element */
  123. char        *fileName,        /* => file name */
  124. char        *logicalName,        /* => logical name */
  125. char        *description,        /* => description */
  126. Dpoint3d    *masterOrigin,        /* => master origin */
  127. Dpoint3d    *referenceOrigin,    /* => reference origin */
  128. double        scale,            /* => scale */
  129. RotMatrix    *rotMatrix,        /* => rotation */
  130. int        nClipPoints,        /* => number of clipping points */
  131. Point2d        *clipPoints,        /* => clipping points */
  132. double        zLimit,            /* => z Limit */
  133. short        levels[8][4],        /* => level masks */
  134. boolean        snapLock,        /* => snap lock */
  135. boolean        locateLock,        /* => locate lock */
  136. int        slot,            /* => slot number */
  137. short        *displayFlagsP        /* => display flags (or NULL) */
  138. );
  139.  
  140. int    mdlRefFile_extendedAttach
  141. (
  142. char        *fileName,                /* => file name */
  143. char        *logicalName,            /* => logical name */
  144. char        *description,            /* => description */
  145. Dpoint3d    *masterOrigin,            /* => master origin */
  146. Dpoint3d    *refOrigin,                /* => reference origin */
  147. double        scale,                /* => scale */
  148. RotMatrix   *rotMatrix,                /* => rotation matrix */
  149. int        nClipPoints,            /* => number of clipping points */
  150. Point2d        *clipPoints,            /* => clipping points */
  151. double        zDelta,                /* => z Clipping limit */
  152. short        levels[MAX_VIEWS][4],       /* => level map */
  153. boolean        snapLock,                /* => snap lock */
  154. boolean        locateLock,                /* => locate lock */
  155. int        nestDepth,                /* => nest depth limit */
  156. boolean        coincident                /* => attach coincident */
  157. );
  158.  
  159. int mdlRefFile_updateReference
  160. (
  161. int    refSlot,        /* => reference file number (0 - maxRefs-1) */
  162. int    displayMode        /* => display mode */
  163. );    
  164.  
  165. int    mdlFile_checkDesignFile
  166. (
  167. boolean    *isThreeD,                /* <= TRUE if file is 3d */
  168. char    *fileName                /* => filename */
  169. );
  170.  
  171.  
  172. int mdlView_createSavedViewElement
  173. (
  174. short        nvElement[],        /* <= saved view element */
  175. char        *name,            /* => view name */
  176. char        *description,        /* => view description */
  177. Dpoint3d    *originP,        /* => view origin */
  178. Dpoint3d    *deltaP,        /* => view delta */
  179. RotMatrix    *rotMatrixP,        /* => view rotation matrix */
  180. double        *activeZP,        /* => active depth */
  181. Viewflags    *flagsP,        /* => view flags */
  182. Ext_viewflags    *extFlagsP,        /* => extended view flags */
  183. short        *levelsP,        /* => levels */
  184. Dpoint3d    *cameraPositionP,    /* => camera position */
  185. double        *focalLengthP,        /* => focal length */
  186. double        *cameraAngle        /* => camera angle */
  187. );
  188.  
  189.  
  190. void    mdlColor_createColorTableElement
  191. (
  192. short    *colorTableElementP,        /* <= color table element */
  193. byte    *colorlist,            /* => color indices */
  194. char    *ctname                /* => color table name */
  195. );
  196.  
  197. int mdlImage_checkStop
  198. (
  199. void
  200. );
  201.  
  202. int mdlSystem_checkExtendedAbort
  203. (
  204. void
  205. );
  206.  
  207. int mdlSharedCell_createDefinitionElement
  208. (
  209. MSElement    *hdrP,            /* <= location of buffer */
  210. char        *cellName,        /* => name of cell */
  211. boolean        pointCell        /* => nonzero for Point cell */
  212. );
  213.  
  214. int mdlAccudraw_optimizeForContext
  215. (
  216. long         flags,         /* => flags from accudraw.h */
  217. Dpoint3d    *originP,       /* => */
  218. Dpoint3d    *deltaP,        /* => */
  219. double        *distanceP,     /* => */
  220. double        *angleP,        /* => */
  221. void        *orientationP    /* => RMatrix or Dpoint3d (unit vector) */
  222. );
  223.  
  224. int    mdlMline_joinTee
  225. (
  226. MSElement    *line1,         /* <=> First line. (will be extended)  */
  227. int        segNo1,        /*  => Segment number in first line    */
  228. DPoint3d    *locatePoint,    /*  => Locate point on first line      */
  229. MSElement    *line2,        /* <=> Second line (base line)           */
  230. int        segNo2,        /*  => Segment number in second line   */
  231. int        type        /*  => Joint type (MLJOIN_...)           */
  232. );
  233.  
  234. int    mdlMline_joinCross
  235. (
  236. MSElement    *line1,              /* <=> First line.               */
  237. int        segNo1,              /*  => Segment number in first line    */
  238. MSElement    *line2,              /* <=> Second line (base line)           */
  239. int        segNo2,              /*  => Segment number in second line   */
  240. int        type              /*  => Joint type (MLJOIN_...)           */
  241. );
  242.  
  243. int    mdlMline_joinCorner
  244. (
  245. MSElement    *line1,        /* <=> First line. (will be extended)  */    
  246. int        segNo1,        /*  => Segment number in first line    */
  247. DPoint3d    *point1,    /*  => Locate point on first line      */
  248. MSElement    *line2,        /* <=> Second line. (will be extended) */
  249. int        segNo2,        /*  => Segment number in second line   */
  250. DPoint3d    *point2            /*  => Locate point on second line     */
  251. );
  252.  
  253.  
  254. boolean  mdlBspline_isValidBoundary
  255. (
  256. BsurfBoundary    *boundP
  257. );
  258.  
  259. boolean     mdlBspline_isValidKnotVector
  260. (
  261. double        *knots,               /* => full knot vector */
  262. int        numPoles,
  263. int        order,
  264. int        closed
  265. );
  266.  
  267. boolean  mdlBspline_isPhysicallyClosedCurve
  268. (
  269. MSElementDescr    *edP        /* B-Spline curve element to test */
  270. );        
  271.  
  272. #endif
  273.