Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5250 lines
126 KiB

  1. /*
  2. File: QD3DGeometry.h
  3. Contains: Q3Geometry methods
  4. Version: Technology: Quickdraw 3D 1.6
  5. Release: QuickTime 7.3
  6. Copyright: (c) 2007 (c) 1995-1999 by Apple Computer, Inc., all rights reserved.
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://developer.apple.com/bugreporter/
  10. */
  11. #ifndef __QD3DGEOMETRY__
  12. #define __QD3DGEOMETRY__
  13. #ifndef __QD3D__
  14. #include <QD3D.h>
  15. #endif
  16. #ifndef __QD3DSET__
  17. #include <QD3DSet.h>
  18. #endif
  19. #if PRAGMA_ONCE
  20. #pragma once
  21. #endif
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. #if PRAGMA_IMPORT
  26. #pragma import on
  27. #endif
  28. #if PRAGMA_STRUCT_ALIGN
  29. #pragma options align=power
  30. #elif PRAGMA_STRUCT_PACKPUSH
  31. #pragma pack(push, 2)
  32. #elif PRAGMA_STRUCT_PACK
  33. #pragma pack(2)
  34. #endif
  35. #if PRAGMA_ENUM_ALWAYSINT
  36. #if defined(__fourbyteints__) && !__fourbyteints__
  37. #define __QD3DGEOMETRY__RESTORE_TWOBYTEINTS
  38. #pragma fourbyteints on
  39. #endif
  40. #pragma enumsalwaysint on
  41. #elif PRAGMA_ENUM_OPTIONS
  42. #pragma option enum=int
  43. #elif PRAGMA_ENUM_PACK
  44. #if __option(pack_enums)
  45. #define __QD3DGEOMETRY__RESTORE_PACKED_ENUMS
  46. #pragma options(!pack_enums)
  47. #endif
  48. #endif
  49. /******************************************************************************
  50. ** **
  51. ** Geometry Routines **
  52. ** **
  53. *****************************************************************************/
  54. #if CALL_NOT_IN_CARBON
  55. /*
  56. * Q3Geometry_GetType()
  57. *
  58. * Availability:
  59. * Non-Carbon CFM: not available
  60. * CarbonLib: not available
  61. * Mac OS X: not available
  62. */
  63. EXTERN_API_C( TQ3ObjectType )
  64. Q3Geometry_GetType(TQ3GeometryObject geometry);
  65. /*
  66. * Q3Geometry_GetAttributeSet()
  67. *
  68. * Availability:
  69. * Non-Carbon CFM: not available
  70. * CarbonLib: not available
  71. * Mac OS X: not available
  72. */
  73. EXTERN_API_C( TQ3Status )
  74. Q3Geometry_GetAttributeSet(
  75. TQ3GeometryObject geometry,
  76. TQ3AttributeSet * attributeSet);
  77. /*
  78. * Q3Geometry_SetAttributeSet()
  79. *
  80. * Availability:
  81. * Non-Carbon CFM: not available
  82. * CarbonLib: not available
  83. * Mac OS X: not available
  84. */
  85. EXTERN_API_C( TQ3Status )
  86. Q3Geometry_SetAttributeSet(
  87. TQ3GeometryObject geometry,
  88. TQ3AttributeSet attributeSet);
  89. /*
  90. * Q3Geometry_Submit()
  91. *
  92. * Availability:
  93. * Non-Carbon CFM: not available
  94. * CarbonLib: not available
  95. * Mac OS X: not available
  96. */
  97. EXTERN_API_C( TQ3Status )
  98. Q3Geometry_Submit(
  99. TQ3GeometryObject geometry,
  100. TQ3ViewObject view);
  101. /******************************************************************************
  102. ** **
  103. ** Box Data Structure Definitions **
  104. ** **
  105. *****************************************************************************/
  106. #endif /* CALL_NOT_IN_CARBON */
  107. struct TQ3BoxData {
  108. TQ3Point3D origin;
  109. TQ3Vector3D orientation;
  110. TQ3Vector3D majorAxis;
  111. TQ3Vector3D minorAxis;
  112. TQ3AttributeSet * faceAttributeSet; /* Ordering : Left, right, */
  113. /* front, back, */
  114. /* top, bottom */
  115. TQ3AttributeSet boxAttributeSet;
  116. };
  117. typedef struct TQ3BoxData TQ3BoxData;
  118. /******************************************************************************
  119. ** **
  120. ** Box Routines **
  121. ** **
  122. *****************************************************************************/
  123. #if CALL_NOT_IN_CARBON
  124. /*
  125. * Q3Box_New()
  126. *
  127. * Availability:
  128. * Non-Carbon CFM: not available
  129. * CarbonLib: not available
  130. * Mac OS X: not available
  131. */
  132. EXTERN_API_C( TQ3GeometryObject )
  133. Q3Box_New(const TQ3BoxData * boxData);
  134. /*
  135. * Q3Box_Submit()
  136. *
  137. * Availability:
  138. * Non-Carbon CFM: not available
  139. * CarbonLib: not available
  140. * Mac OS X: not available
  141. */
  142. EXTERN_API_C( TQ3Status )
  143. Q3Box_Submit(
  144. const TQ3BoxData * boxData,
  145. TQ3ViewObject view);
  146. /*
  147. * Q3Box_SetData()
  148. *
  149. * Availability:
  150. * Non-Carbon CFM: not available
  151. * CarbonLib: not available
  152. * Mac OS X: not available
  153. */
  154. EXTERN_API_C( TQ3Status )
  155. Q3Box_SetData(
  156. TQ3GeometryObject box,
  157. const TQ3BoxData * boxData);
  158. /*
  159. * Q3Box_GetData()
  160. *
  161. * Availability:
  162. * Non-Carbon CFM: not available
  163. * CarbonLib: not available
  164. * Mac OS X: not available
  165. */
  166. EXTERN_API_C( TQ3Status )
  167. Q3Box_GetData(
  168. TQ3GeometryObject box,
  169. TQ3BoxData * boxData);
  170. /*
  171. * Q3Box_EmptyData()
  172. *
  173. * Availability:
  174. * Non-Carbon CFM: not available
  175. * CarbonLib: not available
  176. * Mac OS X: not available
  177. */
  178. EXTERN_API_C( TQ3Status )
  179. Q3Box_EmptyData(TQ3BoxData * boxData);
  180. /*
  181. * Q3Box_SetOrigin()
  182. *
  183. * Availability:
  184. * Non-Carbon CFM: not available
  185. * CarbonLib: not available
  186. * Mac OS X: not available
  187. */
  188. EXTERN_API_C( TQ3Status )
  189. Q3Box_SetOrigin(
  190. TQ3GeometryObject box,
  191. const TQ3Point3D * origin);
  192. /*
  193. * Q3Box_SetOrientation()
  194. *
  195. * Availability:
  196. * Non-Carbon CFM: not available
  197. * CarbonLib: not available
  198. * Mac OS X: not available
  199. */
  200. EXTERN_API_C( TQ3Status )
  201. Q3Box_SetOrientation(
  202. TQ3GeometryObject box,
  203. const TQ3Vector3D * orientation);
  204. /*
  205. * Q3Box_SetMajorAxis()
  206. *
  207. * Availability:
  208. * Non-Carbon CFM: not available
  209. * CarbonLib: not available
  210. * Mac OS X: not available
  211. */
  212. EXTERN_API_C( TQ3Status )
  213. Q3Box_SetMajorAxis(
  214. TQ3GeometryObject box,
  215. const TQ3Vector3D * majorAxis);
  216. /*
  217. * Q3Box_SetMinorAxis()
  218. *
  219. * Availability:
  220. * Non-Carbon CFM: not available
  221. * CarbonLib: not available
  222. * Mac OS X: not available
  223. */
  224. EXTERN_API_C( TQ3Status )
  225. Q3Box_SetMinorAxis(
  226. TQ3GeometryObject box,
  227. const TQ3Vector3D * minorAxis);
  228. /*
  229. * Q3Box_GetOrigin()
  230. *
  231. * Availability:
  232. * Non-Carbon CFM: not available
  233. * CarbonLib: not available
  234. * Mac OS X: not available
  235. */
  236. EXTERN_API_C( TQ3Status )
  237. Q3Box_GetOrigin(
  238. TQ3GeometryObject box,
  239. TQ3Point3D * origin);
  240. /*
  241. * Q3Box_GetOrientation()
  242. *
  243. * Availability:
  244. * Non-Carbon CFM: not available
  245. * CarbonLib: not available
  246. * Mac OS X: not available
  247. */
  248. EXTERN_API_C( TQ3Status )
  249. Q3Box_GetOrientation(
  250. TQ3GeometryObject box,
  251. TQ3Vector3D * orientation);
  252. /*
  253. * Q3Box_GetMajorAxis()
  254. *
  255. * Availability:
  256. * Non-Carbon CFM: not available
  257. * CarbonLib: not available
  258. * Mac OS X: not available
  259. */
  260. EXTERN_API_C( TQ3Status )
  261. Q3Box_GetMajorAxis(
  262. TQ3GeometryObject box,
  263. TQ3Vector3D * majorAxis);
  264. /*
  265. * Q3Box_GetMinorAxis()
  266. *
  267. * Availability:
  268. * Non-Carbon CFM: not available
  269. * CarbonLib: not available
  270. * Mac OS X: not available
  271. */
  272. EXTERN_API_C( TQ3Status )
  273. Q3Box_GetMinorAxis(
  274. TQ3GeometryObject box,
  275. TQ3Vector3D * minorAxis);
  276. /*
  277. * Q3Box_GetFaceAttributeSet()
  278. *
  279. * Availability:
  280. * Non-Carbon CFM: not available
  281. * CarbonLib: not available
  282. * Mac OS X: not available
  283. */
  284. EXTERN_API_C( TQ3Status )
  285. Q3Box_GetFaceAttributeSet(
  286. TQ3GeometryObject box,
  287. unsigned long faceIndex,
  288. TQ3AttributeSet * faceAttributeSet);
  289. /*
  290. * Q3Box_SetFaceAttributeSet()
  291. *
  292. * Availability:
  293. * Non-Carbon CFM: not available
  294. * CarbonLib: not available
  295. * Mac OS X: not available
  296. */
  297. EXTERN_API_C( TQ3Status )
  298. Q3Box_SetFaceAttributeSet(
  299. TQ3GeometryObject box,
  300. unsigned long faceIndex,
  301. TQ3AttributeSet faceAttributeSet);
  302. /******************************************************************************
  303. ** **
  304. ** Cone Data Structure Definitions **
  305. ** **
  306. *****************************************************************************/
  307. #endif /* CALL_NOT_IN_CARBON */
  308. struct TQ3ConeData {
  309. TQ3Point3D origin;
  310. TQ3Vector3D orientation;
  311. TQ3Vector3D majorRadius;
  312. TQ3Vector3D minorRadius;
  313. float uMin;
  314. float uMax;
  315. float vMin;
  316. float vMax;
  317. TQ3EndCap caps;
  318. TQ3AttributeSet interiorAttributeSet;
  319. TQ3AttributeSet faceAttributeSet;
  320. TQ3AttributeSet bottomAttributeSet;
  321. TQ3AttributeSet coneAttributeSet;
  322. };
  323. typedef struct TQ3ConeData TQ3ConeData;
  324. /******************************************************************************
  325. ** **
  326. ** Cone Routines **
  327. ** **
  328. *****************************************************************************/
  329. #if CALL_NOT_IN_CARBON
  330. /*
  331. * Q3Cone_New()
  332. *
  333. * Availability:
  334. * Non-Carbon CFM: not available
  335. * CarbonLib: not available
  336. * Mac OS X: not available
  337. */
  338. EXTERN_API_C( TQ3GeometryObject )
  339. Q3Cone_New(const TQ3ConeData * coneData);
  340. /*
  341. * Q3Cone_Submit()
  342. *
  343. * Availability:
  344. * Non-Carbon CFM: not available
  345. * CarbonLib: not available
  346. * Mac OS X: not available
  347. */
  348. EXTERN_API_C( TQ3Status )
  349. Q3Cone_Submit(
  350. const TQ3ConeData * coneData,
  351. TQ3ViewObject view);
  352. /*
  353. * Q3Cone_SetData()
  354. *
  355. * Availability:
  356. * Non-Carbon CFM: not available
  357. * CarbonLib: not available
  358. * Mac OS X: not available
  359. */
  360. EXTERN_API_C( TQ3Status )
  361. Q3Cone_SetData(
  362. TQ3GeometryObject cone,
  363. const TQ3ConeData * coneData);
  364. /*
  365. * Q3Cone_GetData()
  366. *
  367. * Availability:
  368. * Non-Carbon CFM: not available
  369. * CarbonLib: not available
  370. * Mac OS X: not available
  371. */
  372. EXTERN_API_C( TQ3Status )
  373. Q3Cone_GetData(
  374. TQ3GeometryObject cone,
  375. TQ3ConeData * coneData);
  376. /*
  377. * Q3Cone_SetOrigin()
  378. *
  379. * Availability:
  380. * Non-Carbon CFM: not available
  381. * CarbonLib: not available
  382. * Mac OS X: not available
  383. */
  384. EXTERN_API_C( TQ3Status )
  385. Q3Cone_SetOrigin(
  386. TQ3GeometryObject cone,
  387. const TQ3Point3D * origin);
  388. /*
  389. * Q3Cone_SetOrientation()
  390. *
  391. * Availability:
  392. * Non-Carbon CFM: not available
  393. * CarbonLib: not available
  394. * Mac OS X: not available
  395. */
  396. EXTERN_API_C( TQ3Status )
  397. Q3Cone_SetOrientation(
  398. TQ3GeometryObject cone,
  399. const TQ3Vector3D * orientation);
  400. /*
  401. * Q3Cone_SetMajorRadius()
  402. *
  403. * Availability:
  404. * Non-Carbon CFM: not available
  405. * CarbonLib: not available
  406. * Mac OS X: not available
  407. */
  408. EXTERN_API_C( TQ3Status )
  409. Q3Cone_SetMajorRadius(
  410. TQ3GeometryObject cone,
  411. const TQ3Vector3D * majorRadius);
  412. /*
  413. * Q3Cone_SetMinorRadius()
  414. *
  415. * Availability:
  416. * Non-Carbon CFM: not available
  417. * CarbonLib: not available
  418. * Mac OS X: not available
  419. */
  420. EXTERN_API_C( TQ3Status )
  421. Q3Cone_SetMinorRadius(
  422. TQ3GeometryObject cone,
  423. const TQ3Vector3D * minorRadius);
  424. /*
  425. * Q3Cone_GetOrigin()
  426. *
  427. * Availability:
  428. * Non-Carbon CFM: not available
  429. * CarbonLib: not available
  430. * Mac OS X: not available
  431. */
  432. EXTERN_API_C( TQ3Status )
  433. Q3Cone_GetOrigin(
  434. TQ3GeometryObject cone,
  435. TQ3Point3D * origin);
  436. /*
  437. * Q3Cone_GetOrientation()
  438. *
  439. * Availability:
  440. * Non-Carbon CFM: not available
  441. * CarbonLib: not available
  442. * Mac OS X: not available
  443. */
  444. EXTERN_API_C( TQ3Status )
  445. Q3Cone_GetOrientation(
  446. TQ3GeometryObject cone,
  447. TQ3Vector3D * orientation);
  448. /*
  449. * Q3Cone_GetMajorRadius()
  450. *
  451. * Availability:
  452. * Non-Carbon CFM: not available
  453. * CarbonLib: not available
  454. * Mac OS X: not available
  455. */
  456. EXTERN_API_C( TQ3Status )
  457. Q3Cone_GetMajorRadius(
  458. TQ3GeometryObject cone,
  459. TQ3Vector3D * majorRadius);
  460. /*
  461. * Q3Cone_GetMinorRadius()
  462. *
  463. * Availability:
  464. * Non-Carbon CFM: not available
  465. * CarbonLib: not available
  466. * Mac OS X: not available
  467. */
  468. EXTERN_API_C( TQ3Status )
  469. Q3Cone_GetMinorRadius(
  470. TQ3GeometryObject cone,
  471. TQ3Vector3D * minorRadius);
  472. /*
  473. * Q3Cone_SetCaps()
  474. *
  475. * Availability:
  476. * Non-Carbon CFM: not available
  477. * CarbonLib: not available
  478. * Mac OS X: not available
  479. */
  480. EXTERN_API_C( TQ3Status )
  481. Q3Cone_SetCaps(
  482. TQ3GeometryObject cone,
  483. TQ3EndCap caps);
  484. /*
  485. * Q3Cone_GetCaps()
  486. *
  487. * Availability:
  488. * Non-Carbon CFM: not available
  489. * CarbonLib: not available
  490. * Mac OS X: not available
  491. */
  492. EXTERN_API_C( TQ3Status )
  493. Q3Cone_GetCaps(
  494. TQ3GeometryObject cone,
  495. TQ3EndCap * caps);
  496. /*
  497. * Q3Cone_SetBottomAttributeSet()
  498. *
  499. * Availability:
  500. * Non-Carbon CFM: not available
  501. * CarbonLib: not available
  502. * Mac OS X: not available
  503. */
  504. EXTERN_API_C( TQ3Status )
  505. Q3Cone_SetBottomAttributeSet(
  506. TQ3GeometryObject cone,
  507. TQ3AttributeSet bottomAttributeSet);
  508. /*
  509. * Q3Cone_GetBottomAttributeSet()
  510. *
  511. * Availability:
  512. * Non-Carbon CFM: not available
  513. * CarbonLib: not available
  514. * Mac OS X: not available
  515. */
  516. EXTERN_API_C( TQ3Status )
  517. Q3Cone_GetBottomAttributeSet(
  518. TQ3GeometryObject cone,
  519. TQ3AttributeSet * bottomAttributeSet);
  520. /*
  521. * Q3Cone_SetFaceAttributeSet()
  522. *
  523. * Availability:
  524. * Non-Carbon CFM: not available
  525. * CarbonLib: not available
  526. * Mac OS X: not available
  527. */
  528. EXTERN_API_C( TQ3Status )
  529. Q3Cone_SetFaceAttributeSet(
  530. TQ3GeometryObject cone,
  531. TQ3AttributeSet faceAttributeSet);
  532. /*
  533. * Q3Cone_GetFaceAttributeSet()
  534. *
  535. * Availability:
  536. * Non-Carbon CFM: not available
  537. * CarbonLib: not available
  538. * Mac OS X: not available
  539. */
  540. EXTERN_API_C( TQ3Status )
  541. Q3Cone_GetFaceAttributeSet(
  542. TQ3GeometryObject cone,
  543. TQ3AttributeSet * faceAttributeSet);
  544. /*
  545. * Q3Cone_EmptyData()
  546. *
  547. * Availability:
  548. * Non-Carbon CFM: not available
  549. * CarbonLib: not available
  550. * Mac OS X: not available
  551. */
  552. EXTERN_API_C( TQ3Status )
  553. Q3Cone_EmptyData(TQ3ConeData * coneData);
  554. /******************************************************************************
  555. ** **
  556. ** Cylinder Data Structure Definitions **
  557. ** **
  558. *****************************************************************************/
  559. #endif /* CALL_NOT_IN_CARBON */
  560. struct TQ3CylinderData {
  561. TQ3Point3D origin;
  562. TQ3Vector3D orientation;
  563. TQ3Vector3D majorRadius;
  564. TQ3Vector3D minorRadius;
  565. float uMin;
  566. float uMax;
  567. float vMin;
  568. float vMax;
  569. TQ3EndCap caps;
  570. TQ3AttributeSet interiorAttributeSet;
  571. TQ3AttributeSet topAttributeSet;
  572. TQ3AttributeSet faceAttributeSet;
  573. TQ3AttributeSet bottomAttributeSet;
  574. TQ3AttributeSet cylinderAttributeSet;
  575. };
  576. typedef struct TQ3CylinderData TQ3CylinderData;
  577. /******************************************************************************
  578. ** **
  579. ** Cylinder Routines **
  580. ** **
  581. *****************************************************************************/
  582. #if CALL_NOT_IN_CARBON
  583. /*
  584. * Q3Cylinder_New()
  585. *
  586. * Availability:
  587. * Non-Carbon CFM: not available
  588. * CarbonLib: not available
  589. * Mac OS X: not available
  590. */
  591. EXTERN_API_C( TQ3GeometryObject )
  592. Q3Cylinder_New(const TQ3CylinderData * cylinderData);
  593. /*
  594. * Q3Cylinder_Submit()
  595. *
  596. * Availability:
  597. * Non-Carbon CFM: not available
  598. * CarbonLib: not available
  599. * Mac OS X: not available
  600. */
  601. EXTERN_API_C( TQ3Status )
  602. Q3Cylinder_Submit(
  603. const TQ3CylinderData * cylinderData,
  604. TQ3ViewObject view);
  605. /*
  606. * Q3Cylinder_SetData()
  607. *
  608. * Availability:
  609. * Non-Carbon CFM: not available
  610. * CarbonLib: not available
  611. * Mac OS X: not available
  612. */
  613. EXTERN_API_C( TQ3Status )
  614. Q3Cylinder_SetData(
  615. TQ3GeometryObject cylinder,
  616. const TQ3CylinderData * cylinderData);
  617. /*
  618. * Q3Cylinder_GetData()
  619. *
  620. * Availability:
  621. * Non-Carbon CFM: not available
  622. * CarbonLib: not available
  623. * Mac OS X: not available
  624. */
  625. EXTERN_API_C( TQ3Status )
  626. Q3Cylinder_GetData(
  627. TQ3GeometryObject cylinder,
  628. TQ3CylinderData * cylinderData);
  629. /*
  630. * Q3Cylinder_SetOrigin()
  631. *
  632. * Availability:
  633. * Non-Carbon CFM: not available
  634. * CarbonLib: not available
  635. * Mac OS X: not available
  636. */
  637. EXTERN_API_C( TQ3Status )
  638. Q3Cylinder_SetOrigin(
  639. TQ3GeometryObject cylinder,
  640. const TQ3Point3D * origin);
  641. /*
  642. * Q3Cylinder_SetOrientation()
  643. *
  644. * Availability:
  645. * Non-Carbon CFM: not available
  646. * CarbonLib: not available
  647. * Mac OS X: not available
  648. */
  649. EXTERN_API_C( TQ3Status )
  650. Q3Cylinder_SetOrientation(
  651. TQ3GeometryObject cylinder,
  652. const TQ3Vector3D * orientation);
  653. /*
  654. * Q3Cylinder_SetMajorRadius()
  655. *
  656. * Availability:
  657. * Non-Carbon CFM: not available
  658. * CarbonLib: not available
  659. * Mac OS X: not available
  660. */
  661. EXTERN_API_C( TQ3Status )
  662. Q3Cylinder_SetMajorRadius(
  663. TQ3GeometryObject cylinder,
  664. const TQ3Vector3D * majorRadius);
  665. /*
  666. * Q3Cylinder_SetMinorRadius()
  667. *
  668. * Availability:
  669. * Non-Carbon CFM: not available
  670. * CarbonLib: not available
  671. * Mac OS X: not available
  672. */
  673. EXTERN_API_C( TQ3Status )
  674. Q3Cylinder_SetMinorRadius(
  675. TQ3GeometryObject cylinder,
  676. const TQ3Vector3D * minorRadius);
  677. /*
  678. * Q3Cylinder_GetOrigin()
  679. *
  680. * Availability:
  681. * Non-Carbon CFM: not available
  682. * CarbonLib: not available
  683. * Mac OS X: not available
  684. */
  685. EXTERN_API_C( TQ3Status )
  686. Q3Cylinder_GetOrigin(
  687. TQ3GeometryObject cylinder,
  688. TQ3Point3D * origin);
  689. /*
  690. * Q3Cylinder_GetOrientation()
  691. *
  692. * Availability:
  693. * Non-Carbon CFM: not available
  694. * CarbonLib: not available
  695. * Mac OS X: not available
  696. */
  697. EXTERN_API_C( TQ3Status )
  698. Q3Cylinder_GetOrientation(
  699. TQ3GeometryObject cylinder,
  700. TQ3Vector3D * orientation);
  701. /*
  702. * Q3Cylinder_GetMajorRadius()
  703. *
  704. * Availability:
  705. * Non-Carbon CFM: not available
  706. * CarbonLib: not available
  707. * Mac OS X: not available
  708. */
  709. EXTERN_API_C( TQ3Status )
  710. Q3Cylinder_GetMajorRadius(
  711. TQ3GeometryObject cylinder,
  712. TQ3Vector3D * majorRadius);
  713. /*
  714. * Q3Cylinder_GetMinorRadius()
  715. *
  716. * Availability:
  717. * Non-Carbon CFM: not available
  718. * CarbonLib: not available
  719. * Mac OS X: not available
  720. */
  721. EXTERN_API_C( TQ3Status )
  722. Q3Cylinder_GetMinorRadius(
  723. TQ3GeometryObject cylinder,
  724. TQ3Vector3D * minorRadius);
  725. /*
  726. * Q3Cylinder_SetCaps()
  727. *
  728. * Availability:
  729. * Non-Carbon CFM: not available
  730. * CarbonLib: not available
  731. * Mac OS X: not available
  732. */
  733. EXTERN_API_C( TQ3Status )
  734. Q3Cylinder_SetCaps(
  735. TQ3GeometryObject cylinder,
  736. TQ3EndCap caps);
  737. /*
  738. * Q3Cylinder_GetCaps()
  739. *
  740. * Availability:
  741. * Non-Carbon CFM: not available
  742. * CarbonLib: not available
  743. * Mac OS X: not available
  744. */
  745. EXTERN_API_C( TQ3Status )
  746. Q3Cylinder_GetCaps(
  747. TQ3GeometryObject cylinder,
  748. TQ3EndCap * caps);
  749. /*
  750. * Q3Cylinder_SetTopAttributeSet()
  751. *
  752. * Availability:
  753. * Non-Carbon CFM: not available
  754. * CarbonLib: not available
  755. * Mac OS X: not available
  756. */
  757. EXTERN_API_C( TQ3Status )
  758. Q3Cylinder_SetTopAttributeSet(
  759. TQ3GeometryObject cylinder,
  760. TQ3AttributeSet topAttributeSet);
  761. /*
  762. * Q3Cylinder_GetTopAttributeSet()
  763. *
  764. * Availability:
  765. * Non-Carbon CFM: not available
  766. * CarbonLib: not available
  767. * Mac OS X: not available
  768. */
  769. EXTERN_API_C( TQ3Status )
  770. Q3Cylinder_GetTopAttributeSet(
  771. TQ3GeometryObject cylinder,
  772. TQ3AttributeSet * topAttributeSet);
  773. /*
  774. * Q3Cylinder_SetBottomAttributeSet()
  775. *
  776. * Availability:
  777. * Non-Carbon CFM: not available
  778. * CarbonLib: not available
  779. * Mac OS X: not available
  780. */
  781. EXTERN_API_C( TQ3Status )
  782. Q3Cylinder_SetBottomAttributeSet(
  783. TQ3GeometryObject cylinder,
  784. TQ3AttributeSet bottomAttributeSet);
  785. /*
  786. * Q3Cylinder_GetBottomAttributeSet()
  787. *
  788. * Availability:
  789. * Non-Carbon CFM: not available
  790. * CarbonLib: not available
  791. * Mac OS X: not available
  792. */
  793. EXTERN_API_C( TQ3Status )
  794. Q3Cylinder_GetBottomAttributeSet(
  795. TQ3GeometryObject cylinder,
  796. TQ3AttributeSet * bottomAttributeSet);
  797. /*
  798. * Q3Cylinder_SetFaceAttributeSet()
  799. *
  800. * Availability:
  801. * Non-Carbon CFM: not available
  802. * CarbonLib: not available
  803. * Mac OS X: not available
  804. */
  805. EXTERN_API_C( TQ3Status )
  806. Q3Cylinder_SetFaceAttributeSet(
  807. TQ3GeometryObject cylinder,
  808. TQ3AttributeSet faceAttributeSet);
  809. /*
  810. * Q3Cylinder_GetFaceAttributeSet()
  811. *
  812. * Availability:
  813. * Non-Carbon CFM: not available
  814. * CarbonLib: not available
  815. * Mac OS X: not available
  816. */
  817. EXTERN_API_C( TQ3Status )
  818. Q3Cylinder_GetFaceAttributeSet(
  819. TQ3GeometryObject cylinder,
  820. TQ3AttributeSet * faceAttributeSet);
  821. /*
  822. * Q3Cylinder_EmptyData()
  823. *
  824. * Availability:
  825. * Non-Carbon CFM: not available
  826. * CarbonLib: not available
  827. * Mac OS X: not available
  828. */
  829. EXTERN_API_C( TQ3Status )
  830. Q3Cylinder_EmptyData(TQ3CylinderData * cylinderData);
  831. /******************************************************************************
  832. ** **
  833. ** Disk Data Structure Definitions **
  834. ** **
  835. *****************************************************************************/
  836. #endif /* CALL_NOT_IN_CARBON */
  837. struct TQ3DiskData {
  838. TQ3Point3D origin;
  839. TQ3Vector3D majorRadius;
  840. TQ3Vector3D minorRadius;
  841. float uMin;
  842. float uMax;
  843. float vMin;
  844. float vMax;
  845. TQ3AttributeSet diskAttributeSet;
  846. };
  847. typedef struct TQ3DiskData TQ3DiskData;
  848. /******************************************************************************
  849. ** **
  850. ** Disk Routines **
  851. ** **
  852. *****************************************************************************/
  853. #if CALL_NOT_IN_CARBON
  854. /*
  855. * Q3Disk_New()
  856. *
  857. * Availability:
  858. * Non-Carbon CFM: not available
  859. * CarbonLib: not available
  860. * Mac OS X: not available
  861. */
  862. EXTERN_API_C( TQ3GeometryObject )
  863. Q3Disk_New(const TQ3DiskData * diskData);
  864. /*
  865. * Q3Disk_Submit()
  866. *
  867. * Availability:
  868. * Non-Carbon CFM: not available
  869. * CarbonLib: not available
  870. * Mac OS X: not available
  871. */
  872. EXTERN_API_C( TQ3Status )
  873. Q3Disk_Submit(
  874. const TQ3DiskData * diskData,
  875. TQ3ViewObject view);
  876. /*
  877. * Q3Disk_SetData()
  878. *
  879. * Availability:
  880. * Non-Carbon CFM: not available
  881. * CarbonLib: not available
  882. * Mac OS X: not available
  883. */
  884. EXTERN_API_C( TQ3Status )
  885. Q3Disk_SetData(
  886. TQ3GeometryObject disk,
  887. const TQ3DiskData * diskData);
  888. /*
  889. * Q3Disk_GetData()
  890. *
  891. * Availability:
  892. * Non-Carbon CFM: not available
  893. * CarbonLib: not available
  894. * Mac OS X: not available
  895. */
  896. EXTERN_API_C( TQ3Status )
  897. Q3Disk_GetData(
  898. TQ3GeometryObject disk,
  899. TQ3DiskData * diskData);
  900. /*
  901. * Q3Disk_SetOrigin()
  902. *
  903. * Availability:
  904. * Non-Carbon CFM: not available
  905. * CarbonLib: not available
  906. * Mac OS X: not available
  907. */
  908. EXTERN_API_C( TQ3Status )
  909. Q3Disk_SetOrigin(
  910. TQ3GeometryObject disk,
  911. const TQ3Point3D * origin);
  912. /*
  913. * Q3Disk_SetMajorRadius()
  914. *
  915. * Availability:
  916. * Non-Carbon CFM: not available
  917. * CarbonLib: not available
  918. * Mac OS X: not available
  919. */
  920. EXTERN_API_C( TQ3Status )
  921. Q3Disk_SetMajorRadius(
  922. TQ3GeometryObject disk,
  923. const TQ3Vector3D * majorRadius);
  924. /*
  925. * Q3Disk_SetMinorRadius()
  926. *
  927. * Availability:
  928. * Non-Carbon CFM: not available
  929. * CarbonLib: not available
  930. * Mac OS X: not available
  931. */
  932. EXTERN_API_C( TQ3Status )
  933. Q3Disk_SetMinorRadius(
  934. TQ3GeometryObject disk,
  935. const TQ3Vector3D * minorRadius);
  936. /*
  937. * Q3Disk_GetOrigin()
  938. *
  939. * Availability:
  940. * Non-Carbon CFM: not available
  941. * CarbonLib: not available
  942. * Mac OS X: not available
  943. */
  944. EXTERN_API_C( TQ3Status )
  945. Q3Disk_GetOrigin(
  946. TQ3GeometryObject disk,
  947. TQ3Point3D * origin);
  948. /*
  949. * Q3Disk_GetMajorRadius()
  950. *
  951. * Availability:
  952. * Non-Carbon CFM: not available
  953. * CarbonLib: not available
  954. * Mac OS X: not available
  955. */
  956. EXTERN_API_C( TQ3Status )
  957. Q3Disk_GetMajorRadius(
  958. TQ3GeometryObject disk,
  959. TQ3Vector3D * majorRadius);
  960. /*
  961. * Q3Disk_GetMinorRadius()
  962. *
  963. * Availability:
  964. * Non-Carbon CFM: not available
  965. * CarbonLib: not available
  966. * Mac OS X: not available
  967. */
  968. EXTERN_API_C( TQ3Status )
  969. Q3Disk_GetMinorRadius(
  970. TQ3GeometryObject disk,
  971. TQ3Vector3D * minorRadius);
  972. /*
  973. * Q3Disk_EmptyData()
  974. *
  975. * Availability:
  976. * Non-Carbon CFM: not available
  977. * CarbonLib: not available
  978. * Mac OS X: not available
  979. */
  980. EXTERN_API_C( TQ3Status )
  981. Q3Disk_EmptyData(TQ3DiskData * diskData);
  982. /******************************************************************************
  983. ** **
  984. ** Ellipse Data Structure Definitions **
  985. ** **
  986. *****************************************************************************/
  987. #endif /* CALL_NOT_IN_CARBON */
  988. struct TQ3EllipseData {
  989. TQ3Point3D origin;
  990. TQ3Vector3D majorRadius;
  991. TQ3Vector3D minorRadius;
  992. float uMin;
  993. float uMax;
  994. TQ3AttributeSet ellipseAttributeSet;
  995. };
  996. typedef struct TQ3EllipseData TQ3EllipseData;
  997. /******************************************************************************
  998. ** **
  999. ** Ellipse Routines **
  1000. ** **
  1001. *****************************************************************************/
  1002. #if CALL_NOT_IN_CARBON
  1003. /*
  1004. * Q3Ellipse_New()
  1005. *
  1006. * Availability:
  1007. * Non-Carbon CFM: not available
  1008. * CarbonLib: not available
  1009. * Mac OS X: not available
  1010. */
  1011. EXTERN_API_C( TQ3GeometryObject )
  1012. Q3Ellipse_New(const TQ3EllipseData * ellipseData);
  1013. /*
  1014. * Q3Ellipse_Submit()
  1015. *
  1016. * Availability:
  1017. * Non-Carbon CFM: not available
  1018. * CarbonLib: not available
  1019. * Mac OS X: not available
  1020. */
  1021. EXTERN_API_C( TQ3Status )
  1022. Q3Ellipse_Submit(
  1023. const TQ3EllipseData * ellipseData,
  1024. TQ3ViewObject view);
  1025. /*
  1026. * Q3Ellipse_SetData()
  1027. *
  1028. * Availability:
  1029. * Non-Carbon CFM: not available
  1030. * CarbonLib: not available
  1031. * Mac OS X: not available
  1032. */
  1033. EXTERN_API_C( TQ3Status )
  1034. Q3Ellipse_SetData(
  1035. TQ3GeometryObject ellipse,
  1036. const TQ3EllipseData * ellipseData);
  1037. /*
  1038. * Q3Ellipse_GetData()
  1039. *
  1040. * Availability:
  1041. * Non-Carbon CFM: not available
  1042. * CarbonLib: not available
  1043. * Mac OS X: not available
  1044. */
  1045. EXTERN_API_C( TQ3Status )
  1046. Q3Ellipse_GetData(
  1047. TQ3GeometryObject ellipse,
  1048. TQ3EllipseData * ellipseData);
  1049. /*
  1050. * Q3Ellipse_SetOrigin()
  1051. *
  1052. * Availability:
  1053. * Non-Carbon CFM: not available
  1054. * CarbonLib: not available
  1055. * Mac OS X: not available
  1056. */
  1057. EXTERN_API_C( TQ3Status )
  1058. Q3Ellipse_SetOrigin(
  1059. TQ3GeometryObject ellipse,
  1060. const TQ3Point3D * origin);
  1061. /*
  1062. * Q3Ellipse_SetMajorRadius()
  1063. *
  1064. * Availability:
  1065. * Non-Carbon CFM: not available
  1066. * CarbonLib: not available
  1067. * Mac OS X: not available
  1068. */
  1069. EXTERN_API_C( TQ3Status )
  1070. Q3Ellipse_SetMajorRadius(
  1071. TQ3GeometryObject ellipse,
  1072. const TQ3Vector3D * majorRadius);
  1073. /*
  1074. * Q3Ellipse_SetMinorRadius()
  1075. *
  1076. * Availability:
  1077. * Non-Carbon CFM: not available
  1078. * CarbonLib: not available
  1079. * Mac OS X: not available
  1080. */
  1081. EXTERN_API_C( TQ3Status )
  1082. Q3Ellipse_SetMinorRadius(
  1083. TQ3GeometryObject ellipse,
  1084. const TQ3Vector3D * minorRadius);
  1085. /*
  1086. * Q3Ellipse_GetOrigin()
  1087. *
  1088. * Availability:
  1089. * Non-Carbon CFM: not available
  1090. * CarbonLib: not available
  1091. * Mac OS X: not available
  1092. */
  1093. EXTERN_API_C( TQ3Status )
  1094. Q3Ellipse_GetOrigin(
  1095. TQ3GeometryObject ellipse,
  1096. TQ3Point3D * origin);
  1097. /*
  1098. * Q3Ellipse_GetMajorRadius()
  1099. *
  1100. * Availability:
  1101. * Non-Carbon CFM: not available
  1102. * CarbonLib: not available
  1103. * Mac OS X: not available
  1104. */
  1105. EXTERN_API_C( TQ3Status )
  1106. Q3Ellipse_GetMajorRadius(
  1107. TQ3GeometryObject ellipse,
  1108. TQ3Vector3D * majorRadius);
  1109. /*
  1110. * Q3Ellipse_GetMinorRadius()
  1111. *
  1112. * Availability:
  1113. * Non-Carbon CFM: not available
  1114. * CarbonLib: not available
  1115. * Mac OS X: not available
  1116. */
  1117. EXTERN_API_C( TQ3Status )
  1118. Q3Ellipse_GetMinorRadius(
  1119. TQ3GeometryObject ellipse,
  1120. TQ3Vector3D * minorRadius);
  1121. /*
  1122. * Q3Ellipse_EmptyData()
  1123. *
  1124. * Availability:
  1125. * Non-Carbon CFM: not available
  1126. * CarbonLib: not available
  1127. * Mac OS X: not available
  1128. */
  1129. EXTERN_API_C( TQ3Status )
  1130. Q3Ellipse_EmptyData(TQ3EllipseData * ellipseData);
  1131. /******************************************************************************
  1132. ** **
  1133. ** Ellipsoid Data structures **
  1134. ** **
  1135. *****************************************************************************/
  1136. #endif /* CALL_NOT_IN_CARBON */
  1137. struct TQ3EllipsoidData {
  1138. TQ3Point3D origin;
  1139. TQ3Vector3D orientation;
  1140. TQ3Vector3D majorRadius;
  1141. TQ3Vector3D minorRadius;
  1142. float uMin;
  1143. float uMax;
  1144. float vMin;
  1145. float vMax;
  1146. TQ3EndCap caps;
  1147. TQ3AttributeSet interiorAttributeSet;
  1148. TQ3AttributeSet ellipsoidAttributeSet;
  1149. };
  1150. typedef struct TQ3EllipsoidData TQ3EllipsoidData;
  1151. /******************************************************************************
  1152. ** **
  1153. ** Ellipsoid Routines **
  1154. ** **
  1155. *****************************************************************************/
  1156. #if CALL_NOT_IN_CARBON
  1157. /*
  1158. * Q3Ellipsoid_New()
  1159. *
  1160. * Availability:
  1161. * Non-Carbon CFM: not available
  1162. * CarbonLib: not available
  1163. * Mac OS X: not available
  1164. */
  1165. EXTERN_API_C( TQ3GeometryObject )
  1166. Q3Ellipsoid_New(const TQ3EllipsoidData * ellipsoidData);
  1167. /*
  1168. * Q3Ellipsoid_Submit()
  1169. *
  1170. * Availability:
  1171. * Non-Carbon CFM: not available
  1172. * CarbonLib: not available
  1173. * Mac OS X: not available
  1174. */
  1175. EXTERN_API_C( TQ3Status )
  1176. Q3Ellipsoid_Submit(
  1177. const TQ3EllipsoidData * ellipsoidData,
  1178. TQ3ViewObject view);
  1179. /*
  1180. * Q3Ellipsoid_SetData()
  1181. *
  1182. * Availability:
  1183. * Non-Carbon CFM: not available
  1184. * CarbonLib: not available
  1185. * Mac OS X: not available
  1186. */
  1187. EXTERN_API_C( TQ3Status )
  1188. Q3Ellipsoid_SetData(
  1189. TQ3GeometryObject ellipsoid,
  1190. const TQ3EllipsoidData * ellipsoidData);
  1191. /*
  1192. * Q3Ellipsoid_GetData()
  1193. *
  1194. * Availability:
  1195. * Non-Carbon CFM: not available
  1196. * CarbonLib: not available
  1197. * Mac OS X: not available
  1198. */
  1199. EXTERN_API_C( TQ3Status )
  1200. Q3Ellipsoid_GetData(
  1201. TQ3GeometryObject ellipsoid,
  1202. TQ3EllipsoidData * ellipsoidData);
  1203. /*
  1204. * Q3Ellipsoid_SetOrigin()
  1205. *
  1206. * Availability:
  1207. * Non-Carbon CFM: not available
  1208. * CarbonLib: not available
  1209. * Mac OS X: not available
  1210. */
  1211. EXTERN_API_C( TQ3Status )
  1212. Q3Ellipsoid_SetOrigin(
  1213. TQ3GeometryObject ellipsoid,
  1214. const TQ3Point3D * origin);
  1215. /*
  1216. * Q3Ellipsoid_SetOrientation()
  1217. *
  1218. * Availability:
  1219. * Non-Carbon CFM: not available
  1220. * CarbonLib: not available
  1221. * Mac OS X: not available
  1222. */
  1223. EXTERN_API_C( TQ3Status )
  1224. Q3Ellipsoid_SetOrientation(
  1225. TQ3GeometryObject ellipsoid,
  1226. const TQ3Vector3D * orientation);
  1227. /*
  1228. * Q3Ellipsoid_SetMajorRadius()
  1229. *
  1230. * Availability:
  1231. * Non-Carbon CFM: not available
  1232. * CarbonLib: not available
  1233. * Mac OS X: not available
  1234. */
  1235. EXTERN_API_C( TQ3Status )
  1236. Q3Ellipsoid_SetMajorRadius(
  1237. TQ3GeometryObject ellipsoid,
  1238. const TQ3Vector3D * majorRadius);
  1239. /*
  1240. * Q3Ellipsoid_SetMinorRadius()
  1241. *
  1242. * Availability:
  1243. * Non-Carbon CFM: not available
  1244. * CarbonLib: not available
  1245. * Mac OS X: not available
  1246. */
  1247. EXTERN_API_C( TQ3Status )
  1248. Q3Ellipsoid_SetMinorRadius(
  1249. TQ3GeometryObject ellipsoid,
  1250. const TQ3Vector3D * minorRadius);
  1251. /*
  1252. * Q3Ellipsoid_GetOrigin()
  1253. *
  1254. * Availability:
  1255. * Non-Carbon CFM: not available
  1256. * CarbonLib: not available
  1257. * Mac OS X: not available
  1258. */
  1259. EXTERN_API_C( TQ3Status )
  1260. Q3Ellipsoid_GetOrigin(
  1261. TQ3GeometryObject ellipsoid,
  1262. TQ3Point3D * origin);
  1263. /*
  1264. * Q3Ellipsoid_GetOrientation()
  1265. *
  1266. * Availability:
  1267. * Non-Carbon CFM: not available
  1268. * CarbonLib: not available
  1269. * Mac OS X: not available
  1270. */
  1271. EXTERN_API_C( TQ3Status )
  1272. Q3Ellipsoid_GetOrientation(
  1273. TQ3GeometryObject ellipsoid,
  1274. TQ3Vector3D * orientation);
  1275. /*
  1276. * Q3Ellipsoid_GetMajorRadius()
  1277. *
  1278. * Availability:
  1279. * Non-Carbon CFM: not available
  1280. * CarbonLib: not available
  1281. * Mac OS X: not available
  1282. */
  1283. EXTERN_API_C( TQ3Status )
  1284. Q3Ellipsoid_GetMajorRadius(
  1285. TQ3GeometryObject ellipsoid,
  1286. TQ3Vector3D * majorRadius);
  1287. /*
  1288. * Q3Ellipsoid_GetMinorRadius()
  1289. *
  1290. * Availability:
  1291. * Non-Carbon CFM: not available
  1292. * CarbonLib: not available
  1293. * Mac OS X: not available
  1294. */
  1295. EXTERN_API_C( TQ3Status )
  1296. Q3Ellipsoid_GetMinorRadius(
  1297. TQ3GeometryObject ellipsoid,
  1298. TQ3Vector3D * minorRadius);
  1299. /*
  1300. * Q3Ellipsoid_EmptyData()
  1301. *
  1302. * Availability:
  1303. * Non-Carbon CFM: not available
  1304. * CarbonLib: not available
  1305. * Mac OS X: not available
  1306. */
  1307. EXTERN_API_C( TQ3Status )
  1308. Q3Ellipsoid_EmptyData(TQ3EllipsoidData * ellipsoidData);
  1309. /******************************************************************************
  1310. ** **
  1311. ** General Polygon Data Structure Definitions **
  1312. ** **
  1313. *****************************************************************************/
  1314. #endif /* CALL_NOT_IN_CARBON */
  1315. enum TQ3GeneralPolygonShapeHint {
  1316. kQ3GeneralPolygonShapeHintComplex = 0,
  1317. kQ3GeneralPolygonShapeHintConcave = 1,
  1318. kQ3GeneralPolygonShapeHintConvex = 2
  1319. };
  1320. typedef enum TQ3GeneralPolygonShapeHint TQ3GeneralPolygonShapeHint;
  1321. struct TQ3GeneralPolygonContourData {
  1322. unsigned long numVertices;
  1323. TQ3Vertex3D * vertices;
  1324. };
  1325. typedef struct TQ3GeneralPolygonContourData TQ3GeneralPolygonContourData;
  1326. struct TQ3GeneralPolygonData {
  1327. unsigned long numContours;
  1328. TQ3GeneralPolygonContourData * contours;
  1329. TQ3GeneralPolygonShapeHint shapeHint;
  1330. TQ3AttributeSet generalPolygonAttributeSet;
  1331. };
  1332. typedef struct TQ3GeneralPolygonData TQ3GeneralPolygonData;
  1333. /******************************************************************************
  1334. ** **
  1335. ** General polygon Routines **
  1336. ** **
  1337. *****************************************************************************/
  1338. #if CALL_NOT_IN_CARBON
  1339. /*
  1340. * Q3GeneralPolygon_New()
  1341. *
  1342. * Availability:
  1343. * Non-Carbon CFM: not available
  1344. * CarbonLib: not available
  1345. * Mac OS X: not available
  1346. */
  1347. EXTERN_API_C( TQ3GeometryObject )
  1348. Q3GeneralPolygon_New(const TQ3GeneralPolygonData * generalPolygonData);
  1349. /*
  1350. * Q3GeneralPolygon_Submit()
  1351. *
  1352. * Availability:
  1353. * Non-Carbon CFM: not available
  1354. * CarbonLib: not available
  1355. * Mac OS X: not available
  1356. */
  1357. EXTERN_API_C( TQ3Status )
  1358. Q3GeneralPolygon_Submit(
  1359. const TQ3GeneralPolygonData * generalPolygonData,
  1360. TQ3ViewObject view);
  1361. /*
  1362. * Q3GeneralPolygon_SetData()
  1363. *
  1364. * Availability:
  1365. * Non-Carbon CFM: not available
  1366. * CarbonLib: not available
  1367. * Mac OS X: not available
  1368. */
  1369. EXTERN_API_C( TQ3Status )
  1370. Q3GeneralPolygon_SetData(
  1371. TQ3GeometryObject generalPolygon,
  1372. const TQ3GeneralPolygonData * generalPolygonData);
  1373. /*
  1374. * Q3GeneralPolygon_GetData()
  1375. *
  1376. * Availability:
  1377. * Non-Carbon CFM: not available
  1378. * CarbonLib: not available
  1379. * Mac OS X: not available
  1380. */
  1381. EXTERN_API_C( TQ3Status )
  1382. Q3GeneralPolygon_GetData(
  1383. TQ3GeometryObject polygon,
  1384. TQ3GeneralPolygonData * generalPolygonData);
  1385. /*
  1386. * Q3GeneralPolygon_EmptyData()
  1387. *
  1388. * Availability:
  1389. * Non-Carbon CFM: not available
  1390. * CarbonLib: not available
  1391. * Mac OS X: not available
  1392. */
  1393. EXTERN_API_C( TQ3Status )
  1394. Q3GeneralPolygon_EmptyData(TQ3GeneralPolygonData * generalPolygonData);
  1395. /*
  1396. * Q3GeneralPolygon_GetVertexPosition()
  1397. *
  1398. * Availability:
  1399. * Non-Carbon CFM: not available
  1400. * CarbonLib: not available
  1401. * Mac OS X: not available
  1402. */
  1403. EXTERN_API_C( TQ3Status )
  1404. Q3GeneralPolygon_GetVertexPosition(
  1405. TQ3GeometryObject generalPolygon,
  1406. unsigned long contourIndex,
  1407. unsigned long pointIndex,
  1408. TQ3Point3D * position);
  1409. /*
  1410. * Q3GeneralPolygon_SetVertexPosition()
  1411. *
  1412. * Availability:
  1413. * Non-Carbon CFM: not available
  1414. * CarbonLib: not available
  1415. * Mac OS X: not available
  1416. */
  1417. EXTERN_API_C( TQ3Status )
  1418. Q3GeneralPolygon_SetVertexPosition(
  1419. TQ3GeometryObject generalPolygon,
  1420. unsigned long contourIndex,
  1421. unsigned long pointIndex,
  1422. const TQ3Point3D * position);
  1423. /*
  1424. * Q3GeneralPolygon_GetVertexAttributeSet()
  1425. *
  1426. * Availability:
  1427. * Non-Carbon CFM: not available
  1428. * CarbonLib: not available
  1429. * Mac OS X: not available
  1430. */
  1431. EXTERN_API_C( TQ3Status )
  1432. Q3GeneralPolygon_GetVertexAttributeSet(
  1433. TQ3GeometryObject generalPolygon,
  1434. unsigned long contourIndex,
  1435. unsigned long pointIndex,
  1436. TQ3AttributeSet * attributeSet);
  1437. /*
  1438. * Q3GeneralPolygon_SetVertexAttributeSet()
  1439. *
  1440. * Availability:
  1441. * Non-Carbon CFM: not available
  1442. * CarbonLib: not available
  1443. * Mac OS X: not available
  1444. */
  1445. EXTERN_API_C( TQ3Status )
  1446. Q3GeneralPolygon_SetVertexAttributeSet(
  1447. TQ3GeometryObject generalPolygon,
  1448. unsigned long contourIndex,
  1449. unsigned long pointIndex,
  1450. TQ3AttributeSet attributeSet);
  1451. /*
  1452. * Q3GeneralPolygon_SetShapeHint()
  1453. *
  1454. * Availability:
  1455. * Non-Carbon CFM: not available
  1456. * CarbonLib: not available
  1457. * Mac OS X: not available
  1458. */
  1459. EXTERN_API_C( TQ3Status )
  1460. Q3GeneralPolygon_SetShapeHint(
  1461. TQ3GeometryObject generalPolygon,
  1462. TQ3GeneralPolygonShapeHint shapeHint);
  1463. /*
  1464. * Q3GeneralPolygon_GetShapeHint()
  1465. *
  1466. * Availability:
  1467. * Non-Carbon CFM: not available
  1468. * CarbonLib: not available
  1469. * Mac OS X: not available
  1470. */
  1471. EXTERN_API_C( TQ3Status )
  1472. Q3GeneralPolygon_GetShapeHint(
  1473. TQ3GeometryObject generalPolygon,
  1474. TQ3GeneralPolygonShapeHint * shapeHint);
  1475. /******************************************************************************
  1476. ** **
  1477. ** Line Data Structure Definitions **
  1478. ** **
  1479. *****************************************************************************/
  1480. #endif /* CALL_NOT_IN_CARBON */
  1481. struct TQ3LineData {
  1482. TQ3Vertex3D vertices[2];
  1483. TQ3AttributeSet lineAttributeSet;
  1484. };
  1485. typedef struct TQ3LineData TQ3LineData;
  1486. /******************************************************************************
  1487. ** **
  1488. ** Line Routines **
  1489. ** **
  1490. *****************************************************************************/
  1491. #if CALL_NOT_IN_CARBON
  1492. /*
  1493. * Q3Line_New()
  1494. *
  1495. * Availability:
  1496. * Non-Carbon CFM: not available
  1497. * CarbonLib: not available
  1498. * Mac OS X: not available
  1499. */
  1500. EXTERN_API_C( TQ3GeometryObject )
  1501. Q3Line_New(const TQ3LineData * lineData);
  1502. /*
  1503. * Q3Line_Submit()
  1504. *
  1505. * Availability:
  1506. * Non-Carbon CFM: not available
  1507. * CarbonLib: not available
  1508. * Mac OS X: not available
  1509. */
  1510. EXTERN_API_C( TQ3Status )
  1511. Q3Line_Submit(
  1512. const TQ3LineData * lineData,
  1513. TQ3ViewObject view);
  1514. /*
  1515. * Q3Line_GetData()
  1516. *
  1517. * Availability:
  1518. * Non-Carbon CFM: not available
  1519. * CarbonLib: not available
  1520. * Mac OS X: not available
  1521. */
  1522. EXTERN_API_C( TQ3Status )
  1523. Q3Line_GetData(
  1524. TQ3GeometryObject line,
  1525. TQ3LineData * lineData);
  1526. /*
  1527. * Q3Line_SetData()
  1528. *
  1529. * Availability:
  1530. * Non-Carbon CFM: not available
  1531. * CarbonLib: not available
  1532. * Mac OS X: not available
  1533. */
  1534. EXTERN_API_C( TQ3Status )
  1535. Q3Line_SetData(
  1536. TQ3GeometryObject line,
  1537. const TQ3LineData * lineData);
  1538. /*
  1539. * Q3Line_GetVertexPosition()
  1540. *
  1541. * Availability:
  1542. * Non-Carbon CFM: not available
  1543. * CarbonLib: not available
  1544. * Mac OS X: not available
  1545. */
  1546. EXTERN_API_C( TQ3Status )
  1547. Q3Line_GetVertexPosition(
  1548. TQ3GeometryObject line,
  1549. unsigned long index,
  1550. TQ3Point3D * position);
  1551. /*
  1552. * Q3Line_SetVertexPosition()
  1553. *
  1554. * Availability:
  1555. * Non-Carbon CFM: not available
  1556. * CarbonLib: not available
  1557. * Mac OS X: not available
  1558. */
  1559. EXTERN_API_C( TQ3Status )
  1560. Q3Line_SetVertexPosition(
  1561. TQ3GeometryObject line,
  1562. unsigned long index,
  1563. const TQ3Point3D * position);
  1564. /*
  1565. * Q3Line_GetVertexAttributeSet()
  1566. *
  1567. * Availability:
  1568. * Non-Carbon CFM: not available
  1569. * CarbonLib: not available
  1570. * Mac OS X: not available
  1571. */
  1572. EXTERN_API_C( TQ3Status )
  1573. Q3Line_GetVertexAttributeSet(
  1574. TQ3GeometryObject line,
  1575. unsigned long index,
  1576. TQ3AttributeSet * attributeSet);
  1577. /*
  1578. * Q3Line_SetVertexAttributeSet()
  1579. *
  1580. * Availability:
  1581. * Non-Carbon CFM: not available
  1582. * CarbonLib: not available
  1583. * Mac OS X: not available
  1584. */
  1585. EXTERN_API_C( TQ3Status )
  1586. Q3Line_SetVertexAttributeSet(
  1587. TQ3GeometryObject line,
  1588. unsigned long index,
  1589. TQ3AttributeSet attributeSet);
  1590. /*
  1591. * Q3Line_EmptyData()
  1592. *
  1593. * Availability:
  1594. * Non-Carbon CFM: not available
  1595. * CarbonLib: not available
  1596. * Mac OS X: not available
  1597. */
  1598. EXTERN_API_C( TQ3Status )
  1599. Q3Line_EmptyData(TQ3LineData * lineData);
  1600. /******************************************************************************
  1601. ** **
  1602. ** Marker Data Structure Definitions **
  1603. ** **
  1604. *****************************************************************************/
  1605. #endif /* CALL_NOT_IN_CARBON */
  1606. struct TQ3MarkerData {
  1607. TQ3Point3D location;
  1608. long xOffset;
  1609. long yOffset;
  1610. TQ3Bitmap bitmap;
  1611. TQ3AttributeSet markerAttributeSet;
  1612. };
  1613. typedef struct TQ3MarkerData TQ3MarkerData;
  1614. /******************************************************************************
  1615. ** **
  1616. ** Marker Routines **
  1617. ** **
  1618. *****************************************************************************/
  1619. #if CALL_NOT_IN_CARBON
  1620. /*
  1621. * Q3Marker_New()
  1622. *
  1623. * Availability:
  1624. * Non-Carbon CFM: not available
  1625. * CarbonLib: not available
  1626. * Mac OS X: not available
  1627. */
  1628. EXTERN_API_C( TQ3GeometryObject )
  1629. Q3Marker_New(const TQ3MarkerData * markerData);
  1630. /*
  1631. * Q3Marker_Submit()
  1632. *
  1633. * Availability:
  1634. * Non-Carbon CFM: not available
  1635. * CarbonLib: not available
  1636. * Mac OS X: not available
  1637. */
  1638. EXTERN_API_C( TQ3Status )
  1639. Q3Marker_Submit(
  1640. const TQ3MarkerData * markerData,
  1641. TQ3ViewObject view);
  1642. /*
  1643. * Q3Marker_SetData()
  1644. *
  1645. * Availability:
  1646. * Non-Carbon CFM: not available
  1647. * CarbonLib: not available
  1648. * Mac OS X: not available
  1649. */
  1650. EXTERN_API_C( TQ3Status )
  1651. Q3Marker_SetData(
  1652. TQ3GeometryObject geometry,
  1653. const TQ3MarkerData * markerData);
  1654. /*
  1655. * Q3Marker_GetData()
  1656. *
  1657. * Availability:
  1658. * Non-Carbon CFM: not available
  1659. * CarbonLib: not available
  1660. * Mac OS X: not available
  1661. */
  1662. EXTERN_API_C( TQ3Status )
  1663. Q3Marker_GetData(
  1664. TQ3GeometryObject geometry,
  1665. TQ3MarkerData * markerData);
  1666. /*
  1667. * Q3Marker_EmptyData()
  1668. *
  1669. * Availability:
  1670. * Non-Carbon CFM: not available
  1671. * CarbonLib: not available
  1672. * Mac OS X: not available
  1673. */
  1674. EXTERN_API_C( TQ3Status )
  1675. Q3Marker_EmptyData(TQ3MarkerData * markerData);
  1676. /*
  1677. * Q3Marker_GetPosition()
  1678. *
  1679. * Availability:
  1680. * Non-Carbon CFM: not available
  1681. * CarbonLib: not available
  1682. * Mac OS X: not available
  1683. */
  1684. EXTERN_API_C( TQ3Status )
  1685. Q3Marker_GetPosition(
  1686. TQ3GeometryObject marker,
  1687. TQ3Point3D * location);
  1688. /*
  1689. * Q3Marker_SetPosition()
  1690. *
  1691. * Availability:
  1692. * Non-Carbon CFM: not available
  1693. * CarbonLib: not available
  1694. * Mac OS X: not available
  1695. */
  1696. EXTERN_API_C( TQ3Status )
  1697. Q3Marker_SetPosition(
  1698. TQ3GeometryObject marker,
  1699. const TQ3Point3D * location);
  1700. /*
  1701. * Q3Marker_GetXOffset()
  1702. *
  1703. * Availability:
  1704. * Non-Carbon CFM: not available
  1705. * CarbonLib: not available
  1706. * Mac OS X: not available
  1707. */
  1708. EXTERN_API_C( TQ3Status )
  1709. Q3Marker_GetXOffset(
  1710. TQ3GeometryObject marker,
  1711. long * xOffset);
  1712. /*
  1713. * Q3Marker_SetXOffset()
  1714. *
  1715. * Availability:
  1716. * Non-Carbon CFM: not available
  1717. * CarbonLib: not available
  1718. * Mac OS X: not available
  1719. */
  1720. EXTERN_API_C( TQ3Status )
  1721. Q3Marker_SetXOffset(
  1722. TQ3GeometryObject marker,
  1723. long xOffset);
  1724. /*
  1725. * Q3Marker_GetYOffset()
  1726. *
  1727. * Availability:
  1728. * Non-Carbon CFM: not available
  1729. * CarbonLib: not available
  1730. * Mac OS X: not available
  1731. */
  1732. EXTERN_API_C( TQ3Status )
  1733. Q3Marker_GetYOffset(
  1734. TQ3GeometryObject marker,
  1735. long * yOffset);
  1736. /*
  1737. * Q3Marker_SetYOffset()
  1738. *
  1739. * Availability:
  1740. * Non-Carbon CFM: not available
  1741. * CarbonLib: not available
  1742. * Mac OS X: not available
  1743. */
  1744. EXTERN_API_C( TQ3Status )
  1745. Q3Marker_SetYOffset(
  1746. TQ3GeometryObject marker,
  1747. long yOffset);
  1748. /*
  1749. * Q3Marker_GetBitmap()
  1750. *
  1751. * Availability:
  1752. * Non-Carbon CFM: not available
  1753. * CarbonLib: not available
  1754. * Mac OS X: not available
  1755. */
  1756. EXTERN_API_C( TQ3Status )
  1757. Q3Marker_GetBitmap(
  1758. TQ3GeometryObject marker,
  1759. TQ3Bitmap * bitmap);
  1760. /*
  1761. * Q3Marker_SetBitmap()
  1762. *
  1763. * Availability:
  1764. * Non-Carbon CFM: not available
  1765. * CarbonLib: not available
  1766. * Mac OS X: not available
  1767. */
  1768. EXTERN_API_C( TQ3Status )
  1769. Q3Marker_SetBitmap(
  1770. TQ3GeometryObject marker,
  1771. const TQ3Bitmap * bitmap);
  1772. /******************************************************************************
  1773. ** **
  1774. ** Mesh Data Structure Definitions **
  1775. ** **
  1776. *****************************************************************************/
  1777. #endif /* CALL_NOT_IN_CARBON */
  1778. typedef struct OpaqueTQ3MeshComponent* TQ3MeshComponent;
  1779. typedef struct OpaqueTQ3MeshVertex* TQ3MeshVertex;
  1780. typedef struct OpaqueTQ3MeshFace* TQ3MeshFace;
  1781. typedef struct OpaqueTQ3MeshEdge* TQ3MeshEdge;
  1782. typedef struct OpaqueTQ3MeshContour* TQ3MeshContour;
  1783. /******************************************************************************
  1784. ** **
  1785. ** Mesh Routines **
  1786. ** **
  1787. *****************************************************************************/
  1788. /*
  1789. * Constructors
  1790. */
  1791. #if CALL_NOT_IN_CARBON
  1792. /*
  1793. * Q3Mesh_New()
  1794. *
  1795. * Availability:
  1796. * Non-Carbon CFM: not available
  1797. * CarbonLib: not available
  1798. * Mac OS X: not available
  1799. */
  1800. EXTERN_API_C( TQ3GeometryObject )
  1801. Q3Mesh_New(void);
  1802. /*
  1803. * Q3Mesh_VertexNew()
  1804. *
  1805. * Availability:
  1806. * Non-Carbon CFM: not available
  1807. * CarbonLib: not available
  1808. * Mac OS X: not available
  1809. */
  1810. EXTERN_API_C( TQ3MeshVertex )
  1811. Q3Mesh_VertexNew(
  1812. TQ3GeometryObject mesh,
  1813. const TQ3Vertex3D * vertex);
  1814. /*
  1815. * Q3Mesh_FaceNew()
  1816. *
  1817. * Availability:
  1818. * Non-Carbon CFM: not available
  1819. * CarbonLib: not available
  1820. * Mac OS X: not available
  1821. */
  1822. EXTERN_API_C( TQ3MeshFace )
  1823. Q3Mesh_FaceNew(
  1824. TQ3GeometryObject mesh,
  1825. unsigned long numVertices,
  1826. const TQ3MeshVertex * vertices,
  1827. TQ3AttributeSet attributeSet);
  1828. /*
  1829. * Destructors
  1830. */
  1831. /*
  1832. * Q3Mesh_VertexDelete()
  1833. *
  1834. * Availability:
  1835. * Non-Carbon CFM: not available
  1836. * CarbonLib: not available
  1837. * Mac OS X: not available
  1838. */
  1839. EXTERN_API_C( TQ3Status )
  1840. Q3Mesh_VertexDelete(
  1841. TQ3GeometryObject mesh,
  1842. TQ3MeshVertex vertex);
  1843. /*
  1844. * Q3Mesh_FaceDelete()
  1845. *
  1846. * Availability:
  1847. * Non-Carbon CFM: not available
  1848. * CarbonLib: not available
  1849. * Mac OS X: not available
  1850. */
  1851. EXTERN_API_C( TQ3Status )
  1852. Q3Mesh_FaceDelete(
  1853. TQ3GeometryObject mesh,
  1854. TQ3MeshFace face);
  1855. /*
  1856. * Methods
  1857. */
  1858. /*
  1859. * Q3Mesh_DelayUpdates()
  1860. *
  1861. * Availability:
  1862. * Non-Carbon CFM: not available
  1863. * CarbonLib: not available
  1864. * Mac OS X: not available
  1865. */
  1866. EXTERN_API_C( TQ3Status )
  1867. Q3Mesh_DelayUpdates(TQ3GeometryObject mesh);
  1868. /*
  1869. * Q3Mesh_ResumeUpdates()
  1870. *
  1871. * Availability:
  1872. * Non-Carbon CFM: not available
  1873. * CarbonLib: not available
  1874. * Mac OS X: not available
  1875. */
  1876. EXTERN_API_C( TQ3Status )
  1877. Q3Mesh_ResumeUpdates(TQ3GeometryObject mesh);
  1878. /*
  1879. * Q3Mesh_FaceToContour()
  1880. *
  1881. * Availability:
  1882. * Non-Carbon CFM: not available
  1883. * CarbonLib: not available
  1884. * Mac OS X: not available
  1885. */
  1886. EXTERN_API_C( TQ3MeshContour )
  1887. Q3Mesh_FaceToContour(
  1888. TQ3GeometryObject mesh,
  1889. TQ3MeshFace containerFace,
  1890. TQ3MeshFace face);
  1891. /*
  1892. * Q3Mesh_ContourToFace()
  1893. *
  1894. * Availability:
  1895. * Non-Carbon CFM: not available
  1896. * CarbonLib: not available
  1897. * Mac OS X: not available
  1898. */
  1899. EXTERN_API_C( TQ3MeshFace )
  1900. Q3Mesh_ContourToFace(
  1901. TQ3GeometryObject mesh,
  1902. TQ3MeshContour contour);
  1903. /*
  1904. * Mesh
  1905. */
  1906. /*
  1907. * Q3Mesh_GetNumComponents()
  1908. *
  1909. * Availability:
  1910. * Non-Carbon CFM: not available
  1911. * CarbonLib: not available
  1912. * Mac OS X: not available
  1913. */
  1914. EXTERN_API_C( TQ3Status )
  1915. Q3Mesh_GetNumComponents(
  1916. TQ3GeometryObject mesh,
  1917. unsigned long * numComponents);
  1918. /*
  1919. * Q3Mesh_GetNumEdges()
  1920. *
  1921. * Availability:
  1922. * Non-Carbon CFM: not available
  1923. * CarbonLib: not available
  1924. * Mac OS X: not available
  1925. */
  1926. EXTERN_API_C( TQ3Status )
  1927. Q3Mesh_GetNumEdges(
  1928. TQ3GeometryObject mesh,
  1929. unsigned long * numEdges);
  1930. /*
  1931. * Q3Mesh_GetNumVertices()
  1932. *
  1933. * Availability:
  1934. * Non-Carbon CFM: not available
  1935. * CarbonLib: not available
  1936. * Mac OS X: not available
  1937. */
  1938. EXTERN_API_C( TQ3Status )
  1939. Q3Mesh_GetNumVertices(
  1940. TQ3GeometryObject mesh,
  1941. unsigned long * numVertices);
  1942. /*
  1943. * Q3Mesh_GetNumFaces()
  1944. *
  1945. * Availability:
  1946. * Non-Carbon CFM: not available
  1947. * CarbonLib: not available
  1948. * Mac OS X: not available
  1949. */
  1950. EXTERN_API_C( TQ3Status )
  1951. Q3Mesh_GetNumFaces(
  1952. TQ3GeometryObject mesh,
  1953. unsigned long * numFaces);
  1954. /*
  1955. * Q3Mesh_GetNumCorners()
  1956. *
  1957. * Availability:
  1958. * Non-Carbon CFM: not available
  1959. * CarbonLib: not available
  1960. * Mac OS X: not available
  1961. */
  1962. EXTERN_API_C( TQ3Status )
  1963. Q3Mesh_GetNumCorners(
  1964. TQ3GeometryObject mesh,
  1965. unsigned long * numCorners);
  1966. /*
  1967. * Q3Mesh_GetOrientable()
  1968. *
  1969. * Availability:
  1970. * Non-Carbon CFM: not available
  1971. * CarbonLib: not available
  1972. * Mac OS X: not available
  1973. */
  1974. EXTERN_API_C( TQ3Status )
  1975. Q3Mesh_GetOrientable(
  1976. TQ3GeometryObject mesh,
  1977. TQ3Boolean * orientable);
  1978. /*
  1979. * Component
  1980. */
  1981. /*
  1982. * Q3Mesh_GetComponentNumVertices()
  1983. *
  1984. * Availability:
  1985. * Non-Carbon CFM: not available
  1986. * CarbonLib: not available
  1987. * Mac OS X: not available
  1988. */
  1989. EXTERN_API_C( TQ3Status )
  1990. Q3Mesh_GetComponentNumVertices(
  1991. TQ3GeometryObject mesh,
  1992. TQ3MeshComponent component,
  1993. unsigned long * numVertices);
  1994. /*
  1995. * Q3Mesh_GetComponentNumEdges()
  1996. *
  1997. * Availability:
  1998. * Non-Carbon CFM: not available
  1999. * CarbonLib: not available
  2000. * Mac OS X: not available
  2001. */
  2002. EXTERN_API_C( TQ3Status )
  2003. Q3Mesh_GetComponentNumEdges(
  2004. TQ3GeometryObject mesh,
  2005. TQ3MeshComponent component,
  2006. unsigned long * numEdges);
  2007. /*
  2008. * Q3Mesh_GetComponentBoundingBox()
  2009. *
  2010. * Availability:
  2011. * Non-Carbon CFM: not available
  2012. * CarbonLib: not available
  2013. * Mac OS X: not available
  2014. */
  2015. EXTERN_API_C( TQ3Status )
  2016. Q3Mesh_GetComponentBoundingBox(
  2017. TQ3GeometryObject mesh,
  2018. TQ3MeshComponent component,
  2019. TQ3BoundingBox * boundingBox);
  2020. /*
  2021. * Q3Mesh_GetComponentOrientable()
  2022. *
  2023. * Availability:
  2024. * Non-Carbon CFM: not available
  2025. * CarbonLib: not available
  2026. * Mac OS X: not available
  2027. */
  2028. EXTERN_API_C( TQ3Status )
  2029. Q3Mesh_GetComponentOrientable(
  2030. TQ3GeometryObject mesh,
  2031. TQ3MeshComponent component,
  2032. TQ3Boolean * orientable);
  2033. /*
  2034. * Vertex
  2035. */
  2036. /*
  2037. * Q3Mesh_GetVertexCoordinates()
  2038. *
  2039. * Availability:
  2040. * Non-Carbon CFM: not available
  2041. * CarbonLib: not available
  2042. * Mac OS X: not available
  2043. */
  2044. EXTERN_API_C( TQ3Status )
  2045. Q3Mesh_GetVertexCoordinates(
  2046. TQ3GeometryObject mesh,
  2047. TQ3MeshVertex vertex,
  2048. TQ3Point3D * coordinates);
  2049. /*
  2050. * Q3Mesh_GetVertexIndex()
  2051. *
  2052. * Availability:
  2053. * Non-Carbon CFM: not available
  2054. * CarbonLib: not available
  2055. * Mac OS X: not available
  2056. */
  2057. EXTERN_API_C( TQ3Status )
  2058. Q3Mesh_GetVertexIndex(
  2059. TQ3GeometryObject mesh,
  2060. TQ3MeshVertex vertex,
  2061. unsigned long * index);
  2062. /*
  2063. * Q3Mesh_GetVertexOnBoundary()
  2064. *
  2065. * Availability:
  2066. * Non-Carbon CFM: not available
  2067. * CarbonLib: not available
  2068. * Mac OS X: not available
  2069. */
  2070. EXTERN_API_C( TQ3Status )
  2071. Q3Mesh_GetVertexOnBoundary(
  2072. TQ3GeometryObject mesh,
  2073. TQ3MeshVertex vertex,
  2074. TQ3Boolean * onBoundary);
  2075. /*
  2076. * Q3Mesh_GetVertexComponent()
  2077. *
  2078. * Availability:
  2079. * Non-Carbon CFM: not available
  2080. * CarbonLib: not available
  2081. * Mac OS X: not available
  2082. */
  2083. EXTERN_API_C( TQ3Status )
  2084. Q3Mesh_GetVertexComponent(
  2085. TQ3GeometryObject mesh,
  2086. TQ3MeshVertex vertex,
  2087. TQ3MeshComponent * component);
  2088. /*
  2089. * Q3Mesh_GetVertexAttributeSet()
  2090. *
  2091. * Availability:
  2092. * Non-Carbon CFM: not available
  2093. * CarbonLib: not available
  2094. * Mac OS X: not available
  2095. */
  2096. EXTERN_API_C( TQ3Status )
  2097. Q3Mesh_GetVertexAttributeSet(
  2098. TQ3GeometryObject mesh,
  2099. TQ3MeshVertex vertex,
  2100. TQ3AttributeSet * attributeSet);
  2101. /*
  2102. * Q3Mesh_SetVertexCoordinates()
  2103. *
  2104. * Availability:
  2105. * Non-Carbon CFM: not available
  2106. * CarbonLib: not available
  2107. * Mac OS X: not available
  2108. */
  2109. EXTERN_API_C( TQ3Status )
  2110. Q3Mesh_SetVertexCoordinates(
  2111. TQ3GeometryObject mesh,
  2112. TQ3MeshVertex vertex,
  2113. const TQ3Point3D * coordinates);
  2114. /*
  2115. * Q3Mesh_SetVertexAttributeSet()
  2116. *
  2117. * Availability:
  2118. * Non-Carbon CFM: not available
  2119. * CarbonLib: not available
  2120. * Mac OS X: not available
  2121. */
  2122. EXTERN_API_C( TQ3Status )
  2123. Q3Mesh_SetVertexAttributeSet(
  2124. TQ3GeometryObject mesh,
  2125. TQ3MeshVertex vertex,
  2126. TQ3AttributeSet attributeSet);
  2127. /*
  2128. * Face
  2129. */
  2130. /*
  2131. * Q3Mesh_GetFaceNumVertices()
  2132. *
  2133. * Availability:
  2134. * Non-Carbon CFM: not available
  2135. * CarbonLib: not available
  2136. * Mac OS X: not available
  2137. */
  2138. EXTERN_API_C( TQ3Status )
  2139. Q3Mesh_GetFaceNumVertices(
  2140. TQ3GeometryObject mesh,
  2141. TQ3MeshFace face,
  2142. unsigned long * numVertices);
  2143. /*
  2144. * Q3Mesh_GetFacePlaneEquation()
  2145. *
  2146. * Availability:
  2147. * Non-Carbon CFM: not available
  2148. * CarbonLib: not available
  2149. * Mac OS X: not available
  2150. */
  2151. EXTERN_API_C( TQ3Status )
  2152. Q3Mesh_GetFacePlaneEquation(
  2153. TQ3GeometryObject mesh,
  2154. TQ3MeshFace face,
  2155. TQ3PlaneEquation * planeEquation);
  2156. /*
  2157. * Q3Mesh_GetFaceNumContours()
  2158. *
  2159. * Availability:
  2160. * Non-Carbon CFM: not available
  2161. * CarbonLib: not available
  2162. * Mac OS X: not available
  2163. */
  2164. EXTERN_API_C( TQ3Status )
  2165. Q3Mesh_GetFaceNumContours(
  2166. TQ3GeometryObject mesh,
  2167. TQ3MeshFace face,
  2168. unsigned long * numContours);
  2169. /*
  2170. * Q3Mesh_GetFaceIndex()
  2171. *
  2172. * Availability:
  2173. * Non-Carbon CFM: not available
  2174. * CarbonLib: not available
  2175. * Mac OS X: not available
  2176. */
  2177. EXTERN_API_C( TQ3Status )
  2178. Q3Mesh_GetFaceIndex(
  2179. TQ3GeometryObject mesh,
  2180. TQ3MeshFace face,
  2181. unsigned long * index);
  2182. /*
  2183. * Q3Mesh_GetFaceComponent()
  2184. *
  2185. * Availability:
  2186. * Non-Carbon CFM: not available
  2187. * CarbonLib: not available
  2188. * Mac OS X: not available
  2189. */
  2190. EXTERN_API_C( TQ3Status )
  2191. Q3Mesh_GetFaceComponent(
  2192. TQ3GeometryObject mesh,
  2193. TQ3MeshFace face,
  2194. TQ3MeshComponent * component);
  2195. /*
  2196. * Q3Mesh_GetFaceAttributeSet()
  2197. *
  2198. * Availability:
  2199. * Non-Carbon CFM: not available
  2200. * CarbonLib: not available
  2201. * Mac OS X: not available
  2202. */
  2203. EXTERN_API_C( TQ3Status )
  2204. Q3Mesh_GetFaceAttributeSet(
  2205. TQ3GeometryObject mesh,
  2206. TQ3MeshFace face,
  2207. TQ3AttributeSet * attributeSet);
  2208. /*
  2209. * Q3Mesh_SetFaceAttributeSet()
  2210. *
  2211. * Availability:
  2212. * Non-Carbon CFM: not available
  2213. * CarbonLib: not available
  2214. * Mac OS X: not available
  2215. */
  2216. EXTERN_API_C( TQ3Status )
  2217. Q3Mesh_SetFaceAttributeSet(
  2218. TQ3GeometryObject mesh,
  2219. TQ3MeshFace face,
  2220. TQ3AttributeSet attributeSet);
  2221. /*
  2222. * Edge
  2223. */
  2224. /*
  2225. * Q3Mesh_GetEdgeVertices()
  2226. *
  2227. * Availability:
  2228. * Non-Carbon CFM: not available
  2229. * CarbonLib: not available
  2230. * Mac OS X: not available
  2231. */
  2232. EXTERN_API_C( TQ3Status )
  2233. Q3Mesh_GetEdgeVertices(
  2234. TQ3GeometryObject mesh,
  2235. TQ3MeshEdge edge,
  2236. TQ3MeshVertex * vertex1,
  2237. TQ3MeshVertex * vertex2);
  2238. /*
  2239. * Q3Mesh_GetEdgeFaces()
  2240. *
  2241. * Availability:
  2242. * Non-Carbon CFM: not available
  2243. * CarbonLib: not available
  2244. * Mac OS X: not available
  2245. */
  2246. EXTERN_API_C( TQ3Status )
  2247. Q3Mesh_GetEdgeFaces(
  2248. TQ3GeometryObject mesh,
  2249. TQ3MeshEdge edge,
  2250. TQ3MeshFace * face1,
  2251. TQ3MeshFace * face2);
  2252. /*
  2253. * Q3Mesh_GetEdgeOnBoundary()
  2254. *
  2255. * Availability:
  2256. * Non-Carbon CFM: not available
  2257. * CarbonLib: not available
  2258. * Mac OS X: not available
  2259. */
  2260. EXTERN_API_C( TQ3Status )
  2261. Q3Mesh_GetEdgeOnBoundary(
  2262. TQ3GeometryObject mesh,
  2263. TQ3MeshEdge edge,
  2264. TQ3Boolean * onBoundary);
  2265. /*
  2266. * Q3Mesh_GetEdgeComponent()
  2267. *
  2268. * Availability:
  2269. * Non-Carbon CFM: not available
  2270. * CarbonLib: not available
  2271. * Mac OS X: not available
  2272. */
  2273. EXTERN_API_C( TQ3Status )
  2274. Q3Mesh_GetEdgeComponent(
  2275. TQ3GeometryObject mesh,
  2276. TQ3MeshEdge edge,
  2277. TQ3MeshComponent * component);
  2278. /*
  2279. * Q3Mesh_GetEdgeAttributeSet()
  2280. *
  2281. * Availability:
  2282. * Non-Carbon CFM: not available
  2283. * CarbonLib: not available
  2284. * Mac OS X: not available
  2285. */
  2286. EXTERN_API_C( TQ3Status )
  2287. Q3Mesh_GetEdgeAttributeSet(
  2288. TQ3GeometryObject mesh,
  2289. TQ3MeshEdge edge,
  2290. TQ3AttributeSet * attributeSet);
  2291. /*
  2292. * Q3Mesh_SetEdgeAttributeSet()
  2293. *
  2294. * Availability:
  2295. * Non-Carbon CFM: not available
  2296. * CarbonLib: not available
  2297. * Mac OS X: not available
  2298. */
  2299. EXTERN_API_C( TQ3Status )
  2300. Q3Mesh_SetEdgeAttributeSet(
  2301. TQ3GeometryObject mesh,
  2302. TQ3MeshEdge edge,
  2303. TQ3AttributeSet attributeSet);
  2304. /*
  2305. * Contour
  2306. */
  2307. /*
  2308. * Q3Mesh_GetContourFace()
  2309. *
  2310. * Availability:
  2311. * Non-Carbon CFM: not available
  2312. * CarbonLib: not available
  2313. * Mac OS X: not available
  2314. */
  2315. EXTERN_API_C( TQ3Status )
  2316. Q3Mesh_GetContourFace(
  2317. TQ3GeometryObject mesh,
  2318. TQ3MeshContour contour,
  2319. TQ3MeshFace * face);
  2320. /*
  2321. * Q3Mesh_GetContourNumVertices()
  2322. *
  2323. * Availability:
  2324. * Non-Carbon CFM: not available
  2325. * CarbonLib: not available
  2326. * Mac OS X: not available
  2327. */
  2328. EXTERN_API_C( TQ3Status )
  2329. Q3Mesh_GetContourNumVertices(
  2330. TQ3GeometryObject mesh,
  2331. TQ3MeshContour contour,
  2332. unsigned long * numVertices);
  2333. /*
  2334. * Corner
  2335. */
  2336. /*
  2337. * Q3Mesh_GetCornerAttributeSet()
  2338. *
  2339. * Availability:
  2340. * Non-Carbon CFM: not available
  2341. * CarbonLib: not available
  2342. * Mac OS X: not available
  2343. */
  2344. EXTERN_API_C( TQ3Status )
  2345. Q3Mesh_GetCornerAttributeSet(
  2346. TQ3GeometryObject mesh,
  2347. TQ3MeshVertex vertex,
  2348. TQ3MeshFace face,
  2349. TQ3AttributeSet * attributeSet);
  2350. /*
  2351. * Q3Mesh_SetCornerAttributeSet()
  2352. *
  2353. * Availability:
  2354. * Non-Carbon CFM: not available
  2355. * CarbonLib: not available
  2356. * Mac OS X: not available
  2357. */
  2358. EXTERN_API_C( TQ3Status )
  2359. Q3Mesh_SetCornerAttributeSet(
  2360. TQ3GeometryObject mesh,
  2361. TQ3MeshVertex vertex,
  2362. TQ3MeshFace face,
  2363. TQ3AttributeSet attributeSet);
  2364. /*
  2365. * Public Mesh Iterators
  2366. */
  2367. #endif /* CALL_NOT_IN_CARBON */
  2368. struct TQ3MeshIterator {
  2369. void * var1;
  2370. void * var2;
  2371. void * var3;
  2372. struct {
  2373. void * field1;
  2374. char field2[4];
  2375. } var4;
  2376. };
  2377. typedef struct TQ3MeshIterator TQ3MeshIterator;
  2378. #if CALL_NOT_IN_CARBON
  2379. /*
  2380. * Q3Mesh_FirstMeshComponent()
  2381. *
  2382. * Availability:
  2383. * Non-Carbon CFM: not available
  2384. * CarbonLib: not available
  2385. * Mac OS X: not available
  2386. */
  2387. EXTERN_API_C( TQ3MeshComponent )
  2388. Q3Mesh_FirstMeshComponent(
  2389. TQ3GeometryObject mesh,
  2390. TQ3MeshIterator * iterator);
  2391. /*
  2392. * Q3Mesh_NextMeshComponent()
  2393. *
  2394. * Availability:
  2395. * Non-Carbon CFM: not available
  2396. * CarbonLib: not available
  2397. * Mac OS X: not available
  2398. */
  2399. EXTERN_API_C( TQ3MeshComponent )
  2400. Q3Mesh_NextMeshComponent(TQ3MeshIterator * iterator);
  2401. /*
  2402. * Q3Mesh_FirstComponentVertex()
  2403. *
  2404. * Availability:
  2405. * Non-Carbon CFM: not available
  2406. * CarbonLib: not available
  2407. * Mac OS X: not available
  2408. */
  2409. EXTERN_API_C( TQ3MeshVertex )
  2410. Q3Mesh_FirstComponentVertex(
  2411. TQ3MeshComponent component,
  2412. TQ3MeshIterator * iterator);
  2413. /*
  2414. * Q3Mesh_NextComponentVertex()
  2415. *
  2416. * Availability:
  2417. * Non-Carbon CFM: not available
  2418. * CarbonLib: not available
  2419. * Mac OS X: not available
  2420. */
  2421. EXTERN_API_C( TQ3MeshVertex )
  2422. Q3Mesh_NextComponentVertex(TQ3MeshIterator * iterator);
  2423. /*
  2424. * Q3Mesh_FirstComponentEdge()
  2425. *
  2426. * Availability:
  2427. * Non-Carbon CFM: not available
  2428. * CarbonLib: not available
  2429. * Mac OS X: not available
  2430. */
  2431. EXTERN_API_C( TQ3MeshEdge )
  2432. Q3Mesh_FirstComponentEdge(
  2433. TQ3MeshComponent component,
  2434. TQ3MeshIterator * iterator);
  2435. /*
  2436. * Q3Mesh_NextComponentEdge()
  2437. *
  2438. * Availability:
  2439. * Non-Carbon CFM: not available
  2440. * CarbonLib: not available
  2441. * Mac OS X: not available
  2442. */
  2443. EXTERN_API_C( TQ3MeshEdge )
  2444. Q3Mesh_NextComponentEdge(TQ3MeshIterator * iterator);
  2445. /*
  2446. * Q3Mesh_FirstMeshVertex()
  2447. *
  2448. * Availability:
  2449. * Non-Carbon CFM: not available
  2450. * CarbonLib: not available
  2451. * Mac OS X: not available
  2452. */
  2453. EXTERN_API_C( TQ3MeshVertex )
  2454. Q3Mesh_FirstMeshVertex(
  2455. TQ3GeometryObject mesh,
  2456. TQ3MeshIterator * iterator);
  2457. /*
  2458. * Q3Mesh_NextMeshVertex()
  2459. *
  2460. * Availability:
  2461. * Non-Carbon CFM: not available
  2462. * CarbonLib: not available
  2463. * Mac OS X: not available
  2464. */
  2465. EXTERN_API_C( TQ3MeshVertex )
  2466. Q3Mesh_NextMeshVertex(TQ3MeshIterator * iterator);
  2467. /*
  2468. * Q3Mesh_FirstMeshFace()
  2469. *
  2470. * Availability:
  2471. * Non-Carbon CFM: not available
  2472. * CarbonLib: not available
  2473. * Mac OS X: not available
  2474. */
  2475. EXTERN_API_C( TQ3MeshFace )
  2476. Q3Mesh_FirstMeshFace(
  2477. TQ3GeometryObject mesh,
  2478. TQ3MeshIterator * iterator);
  2479. /*
  2480. * Q3Mesh_NextMeshFace()
  2481. *
  2482. * Availability:
  2483. * Non-Carbon CFM: not available
  2484. * CarbonLib: not available
  2485. * Mac OS X: not available
  2486. */
  2487. EXTERN_API_C( TQ3MeshFace )
  2488. Q3Mesh_NextMeshFace(TQ3MeshIterator * iterator);
  2489. /*
  2490. * Q3Mesh_FirstMeshEdge()
  2491. *
  2492. * Availability:
  2493. * Non-Carbon CFM: not available
  2494. * CarbonLib: not available
  2495. * Mac OS X: not available
  2496. */
  2497. EXTERN_API_C( TQ3MeshEdge )
  2498. Q3Mesh_FirstMeshEdge(
  2499. TQ3GeometryObject mesh,
  2500. TQ3MeshIterator * iterator);
  2501. /*
  2502. * Q3Mesh_NextMeshEdge()
  2503. *
  2504. * Availability:
  2505. * Non-Carbon CFM: not available
  2506. * CarbonLib: not available
  2507. * Mac OS X: not available
  2508. */
  2509. EXTERN_API_C( TQ3MeshEdge )
  2510. Q3Mesh_NextMeshEdge(TQ3MeshIterator * iterator);
  2511. /*
  2512. * Q3Mesh_FirstVertexEdge()
  2513. *
  2514. * Availability:
  2515. * Non-Carbon CFM: not available
  2516. * CarbonLib: not available
  2517. * Mac OS X: not available
  2518. */
  2519. EXTERN_API_C( TQ3MeshEdge )
  2520. Q3Mesh_FirstVertexEdge(
  2521. TQ3MeshVertex vertex,
  2522. TQ3MeshIterator * iterator);
  2523. /*
  2524. * Q3Mesh_NextVertexEdge()
  2525. *
  2526. * Availability:
  2527. * Non-Carbon CFM: not available
  2528. * CarbonLib: not available
  2529. * Mac OS X: not available
  2530. */
  2531. EXTERN_API_C( TQ3MeshEdge )
  2532. Q3Mesh_NextVertexEdge(TQ3MeshIterator * iterator);
  2533. /*
  2534. * Q3Mesh_FirstVertexVertex()
  2535. *
  2536. * Availability:
  2537. * Non-Carbon CFM: not available
  2538. * CarbonLib: not available
  2539. * Mac OS X: not available
  2540. */
  2541. EXTERN_API_C( TQ3MeshVertex )
  2542. Q3Mesh_FirstVertexVertex(
  2543. TQ3MeshVertex vertex,
  2544. TQ3MeshIterator * iterator);
  2545. /*
  2546. * Q3Mesh_NextVertexVertex()
  2547. *
  2548. * Availability:
  2549. * Non-Carbon CFM: not available
  2550. * CarbonLib: not available
  2551. * Mac OS X: not available
  2552. */
  2553. EXTERN_API_C( TQ3MeshVertex )
  2554. Q3Mesh_NextVertexVertex(TQ3MeshIterator * iterator);
  2555. /*
  2556. * Q3Mesh_FirstVertexFace()
  2557. *
  2558. * Availability:
  2559. * Non-Carbon CFM: not available
  2560. * CarbonLib: not available
  2561. * Mac OS X: not available
  2562. */
  2563. EXTERN_API_C( TQ3MeshFace )
  2564. Q3Mesh_FirstVertexFace(
  2565. TQ3MeshVertex vertex,
  2566. TQ3MeshIterator * iterator);
  2567. /*
  2568. * Q3Mesh_NextVertexFace()
  2569. *
  2570. * Availability:
  2571. * Non-Carbon CFM: not available
  2572. * CarbonLib: not available
  2573. * Mac OS X: not available
  2574. */
  2575. EXTERN_API_C( TQ3MeshFace )
  2576. Q3Mesh_NextVertexFace(TQ3MeshIterator * iterator);
  2577. /*
  2578. * Q3Mesh_FirstFaceEdge()
  2579. *
  2580. * Availability:
  2581. * Non-Carbon CFM: not available
  2582. * CarbonLib: not available
  2583. * Mac OS X: not available
  2584. */
  2585. EXTERN_API_C( TQ3MeshEdge )
  2586. Q3Mesh_FirstFaceEdge(
  2587. TQ3MeshFace face,
  2588. TQ3MeshIterator * iterator);
  2589. /*
  2590. * Q3Mesh_NextFaceEdge()
  2591. *
  2592. * Availability:
  2593. * Non-Carbon CFM: not available
  2594. * CarbonLib: not available
  2595. * Mac OS X: not available
  2596. */
  2597. EXTERN_API_C( TQ3MeshEdge )
  2598. Q3Mesh_NextFaceEdge(TQ3MeshIterator * iterator);
  2599. /*
  2600. * Q3Mesh_FirstFaceVertex()
  2601. *
  2602. * Availability:
  2603. * Non-Carbon CFM: not available
  2604. * CarbonLib: not available
  2605. * Mac OS X: not available
  2606. */
  2607. EXTERN_API_C( TQ3MeshVertex )
  2608. Q3Mesh_FirstFaceVertex(
  2609. TQ3MeshFace face,
  2610. TQ3MeshIterator * iterator);
  2611. /*
  2612. * Q3Mesh_NextFaceVertex()
  2613. *
  2614. * Availability:
  2615. * Non-Carbon CFM: not available
  2616. * CarbonLib: not available
  2617. * Mac OS X: not available
  2618. */
  2619. EXTERN_API_C( TQ3MeshVertex )
  2620. Q3Mesh_NextFaceVertex(TQ3MeshIterator * iterator);
  2621. /*
  2622. * Q3Mesh_FirstFaceFace()
  2623. *
  2624. * Availability:
  2625. * Non-Carbon CFM: not available
  2626. * CarbonLib: not available
  2627. * Mac OS X: not available
  2628. */
  2629. EXTERN_API_C( TQ3MeshFace )
  2630. Q3Mesh_FirstFaceFace(
  2631. TQ3MeshFace face,
  2632. TQ3MeshIterator * iterator);
  2633. /*
  2634. * Q3Mesh_NextFaceFace()
  2635. *
  2636. * Availability:
  2637. * Non-Carbon CFM: not available
  2638. * CarbonLib: not available
  2639. * Mac OS X: not available
  2640. */
  2641. EXTERN_API_C( TQ3MeshFace )
  2642. Q3Mesh_NextFaceFace(TQ3MeshIterator * iterator);
  2643. /*
  2644. * Q3Mesh_FirstFaceContour()
  2645. *
  2646. * Availability:
  2647. * Non-Carbon CFM: not available
  2648. * CarbonLib: not available
  2649. * Mac OS X: not available
  2650. */
  2651. EXTERN_API_C( TQ3MeshContour )
  2652. Q3Mesh_FirstFaceContour(
  2653. TQ3MeshFace face,
  2654. TQ3MeshIterator * iterator);
  2655. /*
  2656. * Q3Mesh_NextFaceContour()
  2657. *
  2658. * Availability:
  2659. * Non-Carbon CFM: not available
  2660. * CarbonLib: not available
  2661. * Mac OS X: not available
  2662. */
  2663. EXTERN_API_C( TQ3MeshContour )
  2664. Q3Mesh_NextFaceContour(TQ3MeshIterator * iterator);
  2665. /*
  2666. * Q3Mesh_FirstContourEdge()
  2667. *
  2668. * Availability:
  2669. * Non-Carbon CFM: not available
  2670. * CarbonLib: not available
  2671. * Mac OS X: not available
  2672. */
  2673. EXTERN_API_C( TQ3MeshEdge )
  2674. Q3Mesh_FirstContourEdge(
  2675. TQ3MeshContour contour,
  2676. TQ3MeshIterator * iterator);
  2677. /*
  2678. * Q3Mesh_NextContourEdge()
  2679. *
  2680. * Availability:
  2681. * Non-Carbon CFM: not available
  2682. * CarbonLib: not available
  2683. * Mac OS X: not available
  2684. */
  2685. EXTERN_API_C( TQ3MeshEdge )
  2686. Q3Mesh_NextContourEdge(TQ3MeshIterator * iterator);
  2687. /*
  2688. * Q3Mesh_FirstContourVertex()
  2689. *
  2690. * Availability:
  2691. * Non-Carbon CFM: not available
  2692. * CarbonLib: not available
  2693. * Mac OS X: not available
  2694. */
  2695. EXTERN_API_C( TQ3MeshVertex )
  2696. Q3Mesh_FirstContourVertex(
  2697. TQ3MeshContour contour,
  2698. TQ3MeshIterator * iterator);
  2699. /*
  2700. * Q3Mesh_NextContourVertex()
  2701. *
  2702. * Availability:
  2703. * Non-Carbon CFM: not available
  2704. * CarbonLib: not available
  2705. * Mac OS X: not available
  2706. */
  2707. EXTERN_API_C( TQ3MeshVertex )
  2708. Q3Mesh_NextContourVertex(TQ3MeshIterator * iterator);
  2709. /*
  2710. * Q3Mesh_FirstContourFace()
  2711. *
  2712. * Availability:
  2713. * Non-Carbon CFM: not available
  2714. * CarbonLib: not available
  2715. * Mac OS X: not available
  2716. */
  2717. EXTERN_API_C( TQ3MeshFace )
  2718. Q3Mesh_FirstContourFace(
  2719. TQ3MeshContour contour,
  2720. TQ3MeshIterator * iterator);
  2721. /*
  2722. * Q3Mesh_NextContourFace()
  2723. *
  2724. * Availability:
  2725. * Non-Carbon CFM: not available
  2726. * CarbonLib: not available
  2727. * Mac OS X: not available
  2728. */
  2729. EXTERN_API_C( TQ3MeshFace )
  2730. Q3Mesh_NextContourFace(TQ3MeshIterator * iterator);
  2731. #define Q3ForEachMeshComponent(m,c,i) \
  2732. for ( (c) = Q3Mesh_FirstMeshComponent((m),(i)); \
  2733. (c); \
  2734. (c) = Q3Mesh_NextMeshComponent((i)) )
  2735. #define Q3ForEachComponentVertex(c,v,i) \
  2736. for ( (v) = Q3Mesh_FirstComponentVertex((c),(i)); \
  2737. (v); \
  2738. (v) = Q3Mesh_NextComponentVertex((i)) )
  2739. #define Q3ForEachComponentEdge(c,e,i) \
  2740. for ( (e) = Q3Mesh_FirstComponentEdge((c),(i)); \
  2741. (e); \
  2742. (e) = Q3Mesh_NextComponentEdge((i)) )
  2743. #define Q3ForEachMeshVertex(m,v,i) \
  2744. for ( (v) = Q3Mesh_FirstMeshVertex((m),(i)); \
  2745. (v); \
  2746. (v) = Q3Mesh_NextMeshVertex((i)) )
  2747. #define Q3ForEachMeshFace(m,f,i) \
  2748. for ( (f) = Q3Mesh_FirstMeshFace((m),(i)); \
  2749. (f); \
  2750. (f) = Q3Mesh_NextMeshFace((i)) )
  2751. #define Q3ForEachMeshEdge(m,e,i) \
  2752. for ( (e) = Q3Mesh_FirstMeshEdge((m),(i)); \
  2753. (e); \
  2754. (e) = Q3Mesh_NextMeshEdge((i)) )
  2755. #define Q3ForEachVertexEdge(v,e,i) \
  2756. for ( (e) = Q3Mesh_FirstVertexEdge((v),(i)); \
  2757. (e); \
  2758. (e) = Q3Mesh_NextVertexEdge((i)) )
  2759. #define Q3ForEachVertexVertex(v,n,i) \
  2760. for ( (n) = Q3Mesh_FirstVertexVertex((v),(i)); \
  2761. (n); \
  2762. (n) = Q3Mesh_NextVertexVertex((i)) )
  2763. #define Q3ForEachVertexFace(v,f,i) \
  2764. for ( (f) = Q3Mesh_FirstVertexFace((v),(i)); \
  2765. (f); \
  2766. (f) = Q3Mesh_NextVertexFace((i)) )
  2767. #define Q3ForEachFaceEdge(f,e,i) \
  2768. for ( (e) = Q3Mesh_FirstFaceEdge((f),(i)); \
  2769. (e); \
  2770. (e) = Q3Mesh_NextFaceEdge((i)) )
  2771. #define Q3ForEachFaceVertex(f,v,i) \
  2772. for ( (v) = Q3Mesh_FirstFaceVertex((f),(i)); \
  2773. (v); \
  2774. (v) = Q3Mesh_NextFaceVertex((i)) )
  2775. #define Q3ForEachFaceFace(f,n,i) \
  2776. for ( (n) = Q3Mesh_FirstFaceFace((f),(i)); \
  2777. (n); \
  2778. (n) = Q3Mesh_NextFaceFace((i)) )
  2779. #define Q3ForEachFaceContour(f,h,i) \
  2780. for ( (h) = Q3Mesh_FirstFaceContour((f),(i)); \
  2781. (h); \
  2782. (h) = Q3Mesh_NextFaceContour((i)) )
  2783. #define Q3ForEachContourEdge(h,e,i) \
  2784. for ( (e) = Q3Mesh_FirstContourEdge((h),(i)); \
  2785. (e); \
  2786. (e) = Q3Mesh_NextContourEdge((i)) )
  2787. #define Q3ForEachContourVertex(h,v,i) \
  2788. for ( (v) = Q3Mesh_FirstContourVertex((h),(i)); \
  2789. (v); \
  2790. (v) = Q3Mesh_NextContourVertex((i)) )
  2791. #define Q3ForEachContourFace(h,f,i) \
  2792. for ( (f) = Q3Mesh_FirstContourFace((h),(i)); \
  2793. (f); \
  2794. (f) = Q3Mesh_NextContourFace((i)) )
  2795. /******************************************************************************
  2796. ** **
  2797. ** Maximum order for NURB Curves **
  2798. ** **
  2799. *****************************************************************************/
  2800. #define kQ3NURBCurveMaxOrder 16
  2801. /******************************************************************************
  2802. ** **
  2803. ** NURB Data Structure Definitions **
  2804. ** **
  2805. *****************************************************************************/
  2806. #endif /* CALL_NOT_IN_CARBON */
  2807. struct TQ3NURBCurveData {
  2808. unsigned long order;
  2809. unsigned long numPoints;
  2810. TQ3RationalPoint4D * controlPoints;
  2811. float * knots;
  2812. TQ3AttributeSet curveAttributeSet;
  2813. };
  2814. typedef struct TQ3NURBCurveData TQ3NURBCurveData;
  2815. /******************************************************************************
  2816. ** **
  2817. ** NURB Curve Routines **
  2818. ** **
  2819. *****************************************************************************/
  2820. #if CALL_NOT_IN_CARBON
  2821. /*
  2822. * Q3NURBCurve_New()
  2823. *
  2824. * Availability:
  2825. * Non-Carbon CFM: not available
  2826. * CarbonLib: not available
  2827. * Mac OS X: not available
  2828. */
  2829. EXTERN_API_C( TQ3GeometryObject )
  2830. Q3NURBCurve_New(const TQ3NURBCurveData * curveData);
  2831. /*
  2832. * Q3NURBCurve_Submit()
  2833. *
  2834. * Availability:
  2835. * Non-Carbon CFM: not available
  2836. * CarbonLib: not available
  2837. * Mac OS X: not available
  2838. */
  2839. EXTERN_API_C( TQ3Status )
  2840. Q3NURBCurve_Submit(
  2841. const TQ3NURBCurveData * curveData,
  2842. TQ3ViewObject view);
  2843. /*
  2844. * Q3NURBCurve_SetData()
  2845. *
  2846. * Availability:
  2847. * Non-Carbon CFM: not available
  2848. * CarbonLib: not available
  2849. * Mac OS X: not available
  2850. */
  2851. EXTERN_API_C( TQ3Status )
  2852. Q3NURBCurve_SetData(
  2853. TQ3GeometryObject curve,
  2854. const TQ3NURBCurveData * nurbCurveData);
  2855. /*
  2856. * Q3NURBCurve_GetData()
  2857. *
  2858. * Availability:
  2859. * Non-Carbon CFM: not available
  2860. * CarbonLib: not available
  2861. * Mac OS X: not available
  2862. */
  2863. EXTERN_API_C( TQ3Status )
  2864. Q3NURBCurve_GetData(
  2865. TQ3GeometryObject curve,
  2866. TQ3NURBCurveData * nurbCurveData);
  2867. /*
  2868. * Q3NURBCurve_EmptyData()
  2869. *
  2870. * Availability:
  2871. * Non-Carbon CFM: not available
  2872. * CarbonLib: not available
  2873. * Mac OS X: not available
  2874. */
  2875. EXTERN_API_C( TQ3Status )
  2876. Q3NURBCurve_EmptyData(TQ3NURBCurveData * nurbCurveData);
  2877. /*
  2878. * Q3NURBCurve_SetControlPoint()
  2879. *
  2880. * Availability:
  2881. * Non-Carbon CFM: not available
  2882. * CarbonLib: not available
  2883. * Mac OS X: not available
  2884. */
  2885. EXTERN_API_C( TQ3Status )
  2886. Q3NURBCurve_SetControlPoint(
  2887. TQ3GeometryObject curve,
  2888. unsigned long pointIndex,
  2889. const TQ3RationalPoint4D * point4D);
  2890. /*
  2891. * Q3NURBCurve_GetControlPoint()
  2892. *
  2893. * Availability:
  2894. * Non-Carbon CFM: not available
  2895. * CarbonLib: not available
  2896. * Mac OS X: not available
  2897. */
  2898. EXTERN_API_C( TQ3Status )
  2899. Q3NURBCurve_GetControlPoint(
  2900. TQ3GeometryObject curve,
  2901. unsigned long pointIndex,
  2902. TQ3RationalPoint4D * point4D);
  2903. /*
  2904. * Q3NURBCurve_SetKnot()
  2905. *
  2906. * Availability:
  2907. * Non-Carbon CFM: not available
  2908. * CarbonLib: not available
  2909. * Mac OS X: not available
  2910. */
  2911. EXTERN_API_C( TQ3Status )
  2912. Q3NURBCurve_SetKnot(
  2913. TQ3GeometryObject curve,
  2914. unsigned long knotIndex,
  2915. float knotValue);
  2916. /*
  2917. * Q3NURBCurve_GetKnot()
  2918. *
  2919. * Availability:
  2920. * Non-Carbon CFM: not available
  2921. * CarbonLib: not available
  2922. * Mac OS X: not available
  2923. */
  2924. EXTERN_API_C( TQ3Status )
  2925. Q3NURBCurve_GetKnot(
  2926. TQ3GeometryObject curve,
  2927. unsigned long knotIndex,
  2928. float * knotValue);
  2929. /******************************************************************************
  2930. ** **
  2931. ** Maximum NURB Patch Order **
  2932. ** **
  2933. *****************************************************************************/
  2934. #define kQ3NURBPatchMaxOrder 11
  2935. /******************************************************************************
  2936. ** **
  2937. ** NURB Patch Data Structure Definitions **
  2938. ** **
  2939. *****************************************************************************/
  2940. #endif /* CALL_NOT_IN_CARBON */
  2941. struct TQ3NURBPatchTrimCurveData {
  2942. unsigned long order;
  2943. unsigned long numPoints;
  2944. TQ3RationalPoint3D * controlPoints;
  2945. float * knots;
  2946. };
  2947. typedef struct TQ3NURBPatchTrimCurveData TQ3NURBPatchTrimCurveData;
  2948. struct TQ3NURBPatchTrimLoopData {
  2949. unsigned long numTrimCurves;
  2950. TQ3NURBPatchTrimCurveData * trimCurves;
  2951. };
  2952. typedef struct TQ3NURBPatchTrimLoopData TQ3NURBPatchTrimLoopData;
  2953. struct TQ3NURBPatchData {
  2954. unsigned long uOrder;
  2955. unsigned long vOrder;
  2956. unsigned long numRows;
  2957. unsigned long numColumns;
  2958. TQ3RationalPoint4D * controlPoints;
  2959. float * uKnots;
  2960. float * vKnots;
  2961. unsigned long numTrimLoops;
  2962. TQ3NURBPatchTrimLoopData * trimLoops;
  2963. TQ3AttributeSet patchAttributeSet;
  2964. };
  2965. typedef struct TQ3NURBPatchData TQ3NURBPatchData;
  2966. /******************************************************************************
  2967. ** **
  2968. ** NURB Patch Routines **
  2969. ** **
  2970. *****************************************************************************/
  2971. #if CALL_NOT_IN_CARBON
  2972. /*
  2973. * Q3NURBPatch_New()
  2974. *
  2975. * Availability:
  2976. * Non-Carbon CFM: not available
  2977. * CarbonLib: not available
  2978. * Mac OS X: not available
  2979. */
  2980. EXTERN_API_C( TQ3GeometryObject )
  2981. Q3NURBPatch_New(const TQ3NURBPatchData * nurbPatchData);
  2982. /*
  2983. * Q3NURBPatch_Submit()
  2984. *
  2985. * Availability:
  2986. * Non-Carbon CFM: not available
  2987. * CarbonLib: not available
  2988. * Mac OS X: not available
  2989. */
  2990. EXTERN_API_C( TQ3Status )
  2991. Q3NURBPatch_Submit(
  2992. const TQ3NURBPatchData * nurbPatchData,
  2993. TQ3ViewObject view);
  2994. /*
  2995. * Q3NURBPatch_SetData()
  2996. *
  2997. * Availability:
  2998. * Non-Carbon CFM: not available
  2999. * CarbonLib: not available
  3000. * Mac OS X: not available
  3001. */
  3002. EXTERN_API_C( TQ3Status )
  3003. Q3NURBPatch_SetData(
  3004. TQ3GeometryObject nurbPatch,
  3005. const TQ3NURBPatchData * nurbPatchData);
  3006. /*
  3007. * Q3NURBPatch_GetData()
  3008. *
  3009. * Availability:
  3010. * Non-Carbon CFM: not available
  3011. * CarbonLib: not available
  3012. * Mac OS X: not available
  3013. */
  3014. EXTERN_API_C( TQ3Status )
  3015. Q3NURBPatch_GetData(
  3016. TQ3GeometryObject nurbPatch,
  3017. TQ3NURBPatchData * nurbPatchData);
  3018. /*
  3019. * Q3NURBPatch_SetControlPoint()
  3020. *
  3021. * Availability:
  3022. * Non-Carbon CFM: not available
  3023. * CarbonLib: not available
  3024. * Mac OS X: not available
  3025. */
  3026. EXTERN_API_C( TQ3Status )
  3027. Q3NURBPatch_SetControlPoint(
  3028. TQ3GeometryObject nurbPatch,
  3029. unsigned long rowIndex,
  3030. unsigned long columnIndex,
  3031. const TQ3RationalPoint4D * point4D);
  3032. /*
  3033. * Q3NURBPatch_GetControlPoint()
  3034. *
  3035. * Availability:
  3036. * Non-Carbon CFM: not available
  3037. * CarbonLib: not available
  3038. * Mac OS X: not available
  3039. */
  3040. EXTERN_API_C( TQ3Status )
  3041. Q3NURBPatch_GetControlPoint(
  3042. TQ3GeometryObject nurbPatch,
  3043. unsigned long rowIndex,
  3044. unsigned long columnIndex,
  3045. TQ3RationalPoint4D * point4D);
  3046. /*
  3047. * Q3NURBPatch_SetUKnot()
  3048. *
  3049. * Availability:
  3050. * Non-Carbon CFM: not available
  3051. * CarbonLib: not available
  3052. * Mac OS X: not available
  3053. */
  3054. EXTERN_API_C( TQ3Status )
  3055. Q3NURBPatch_SetUKnot(
  3056. TQ3GeometryObject nurbPatch,
  3057. unsigned long knotIndex,
  3058. float knotValue);
  3059. /*
  3060. * Q3NURBPatch_SetVKnot()
  3061. *
  3062. * Availability:
  3063. * Non-Carbon CFM: not available
  3064. * CarbonLib: not available
  3065. * Mac OS X: not available
  3066. */
  3067. EXTERN_API_C( TQ3Status )
  3068. Q3NURBPatch_SetVKnot(
  3069. TQ3GeometryObject nurbPatch,
  3070. unsigned long knotIndex,
  3071. float knotValue);
  3072. /*
  3073. * Q3NURBPatch_GetUKnot()
  3074. *
  3075. * Availability:
  3076. * Non-Carbon CFM: not available
  3077. * CarbonLib: not available
  3078. * Mac OS X: not available
  3079. */
  3080. EXTERN_API_C( TQ3Status )
  3081. Q3NURBPatch_GetUKnot(
  3082. TQ3GeometryObject nurbPatch,
  3083. unsigned long knotIndex,
  3084. float * knotValue);
  3085. /*
  3086. * Q3NURBPatch_GetVKnot()
  3087. *
  3088. * Availability:
  3089. * Non-Carbon CFM: not available
  3090. * CarbonLib: not available
  3091. * Mac OS X: not available
  3092. */
  3093. EXTERN_API_C( TQ3Status )
  3094. Q3NURBPatch_GetVKnot(
  3095. TQ3GeometryObject nurbPatch,
  3096. unsigned long knotIndex,
  3097. float * knotValue);
  3098. /*
  3099. * Q3NURBPatch_EmptyData()
  3100. *
  3101. * Availability:
  3102. * Non-Carbon CFM: not available
  3103. * CarbonLib: not available
  3104. * Mac OS X: not available
  3105. */
  3106. EXTERN_API_C( TQ3Status )
  3107. Q3NURBPatch_EmptyData(TQ3NURBPatchData * nurbPatchData);
  3108. /******************************************************************************
  3109. ** **
  3110. ** Pixmap Marker Data Structure Definitions **
  3111. ** **
  3112. *****************************************************************************/
  3113. #endif /* CALL_NOT_IN_CARBON */
  3114. struct TQ3PixmapMarkerData {
  3115. TQ3Point3D position;
  3116. long xOffset;
  3117. long yOffset;
  3118. TQ3StoragePixmap pixmap;
  3119. TQ3AttributeSet pixmapMarkerAttributeSet;
  3120. };
  3121. typedef struct TQ3PixmapMarkerData TQ3PixmapMarkerData;
  3122. /******************************************************************************
  3123. ** **
  3124. ** Pixmap Marker Routines **
  3125. ** **
  3126. *****************************************************************************/
  3127. #if CALL_NOT_IN_CARBON
  3128. /*
  3129. * Q3PixmapMarker_New()
  3130. *
  3131. * Availability:
  3132. * Non-Carbon CFM: not available
  3133. * CarbonLib: not available
  3134. * Mac OS X: not available
  3135. */
  3136. EXTERN_API_C( TQ3GeometryObject )
  3137. Q3PixmapMarker_New(const TQ3PixmapMarkerData * pixmapMarkerData);
  3138. /*
  3139. * Q3PixmapMarker_Submit()
  3140. *
  3141. * Availability:
  3142. * Non-Carbon CFM: not available
  3143. * CarbonLib: not available
  3144. * Mac OS X: not available
  3145. */
  3146. EXTERN_API_C( TQ3Status )
  3147. Q3PixmapMarker_Submit(
  3148. const TQ3PixmapMarkerData * pixmapMarkerData,
  3149. TQ3ViewObject view);
  3150. /*
  3151. * Q3PixmapMarker_SetData()
  3152. *
  3153. * Availability:
  3154. * Non-Carbon CFM: not available
  3155. * CarbonLib: not available
  3156. * Mac OS X: not available
  3157. */
  3158. EXTERN_API_C( TQ3Status )
  3159. Q3PixmapMarker_SetData(
  3160. TQ3GeometryObject geometry,
  3161. const TQ3PixmapMarkerData * pixmapMarkerData);
  3162. /*
  3163. * Q3PixmapMarker_GetData()
  3164. *
  3165. * Availability:
  3166. * Non-Carbon CFM: not available
  3167. * CarbonLib: not available
  3168. * Mac OS X: not available
  3169. */
  3170. EXTERN_API_C( TQ3Status )
  3171. Q3PixmapMarker_GetData(
  3172. TQ3GeometryObject geometry,
  3173. TQ3PixmapMarkerData * pixmapMarkerData);
  3174. /*
  3175. * Q3PixmapMarker_EmptyData()
  3176. *
  3177. * Availability:
  3178. * Non-Carbon CFM: not available
  3179. * CarbonLib: not available
  3180. * Mac OS X: not available
  3181. */
  3182. EXTERN_API_C( TQ3Status )
  3183. Q3PixmapMarker_EmptyData(TQ3PixmapMarkerData * pixmapMarkerData);
  3184. /*
  3185. * Q3PixmapMarker_GetPosition()
  3186. *
  3187. * Availability:
  3188. * Non-Carbon CFM: not available
  3189. * CarbonLib: not available
  3190. * Mac OS X: not available
  3191. */
  3192. EXTERN_API_C( TQ3Status )
  3193. Q3PixmapMarker_GetPosition(
  3194. TQ3GeometryObject pixmapMarker,
  3195. TQ3Point3D * position);
  3196. /*
  3197. * Q3PixmapMarker_SetPosition()
  3198. *
  3199. * Availability:
  3200. * Non-Carbon CFM: not available
  3201. * CarbonLib: not available
  3202. * Mac OS X: not available
  3203. */
  3204. EXTERN_API_C( TQ3Status )
  3205. Q3PixmapMarker_SetPosition(
  3206. TQ3GeometryObject pixmapMarker,
  3207. const TQ3Point3D * position);
  3208. /*
  3209. * Q3PixmapMarker_GetXOffset()
  3210. *
  3211. * Availability:
  3212. * Non-Carbon CFM: not available
  3213. * CarbonLib: not available
  3214. * Mac OS X: not available
  3215. */
  3216. EXTERN_API_C( TQ3Status )
  3217. Q3PixmapMarker_GetXOffset(
  3218. TQ3GeometryObject pixmapMarker,
  3219. long * xOffset);
  3220. /*
  3221. * Q3PixmapMarker_SetXOffset()
  3222. *
  3223. * Availability:
  3224. * Non-Carbon CFM: not available
  3225. * CarbonLib: not available
  3226. * Mac OS X: not available
  3227. */
  3228. EXTERN_API_C( TQ3Status )
  3229. Q3PixmapMarker_SetXOffset(
  3230. TQ3GeometryObject pixmapMarker,
  3231. long xOffset);
  3232. /*
  3233. * Q3PixmapMarker_GetYOffset()
  3234. *
  3235. * Availability:
  3236. * Non-Carbon CFM: not available
  3237. * CarbonLib: not available
  3238. * Mac OS X: not available
  3239. */
  3240. EXTERN_API_C( TQ3Status )
  3241. Q3PixmapMarker_GetYOffset(
  3242. TQ3GeometryObject pixmapMarker,
  3243. long * yOffset);
  3244. /*
  3245. * Q3PixmapMarker_SetYOffset()
  3246. *
  3247. * Availability:
  3248. * Non-Carbon CFM: not available
  3249. * CarbonLib: not available
  3250. * Mac OS X: not available
  3251. */
  3252. EXTERN_API_C( TQ3Status )
  3253. Q3PixmapMarker_SetYOffset(
  3254. TQ3GeometryObject pixmapMarker,
  3255. long yOffset);
  3256. /*
  3257. * Q3PixmapMarker_GetPixmap()
  3258. *
  3259. * Availability:
  3260. * Non-Carbon CFM: not available
  3261. * CarbonLib: not available
  3262. * Mac OS X: not available
  3263. */
  3264. EXTERN_API_C( TQ3Status )
  3265. Q3PixmapMarker_GetPixmap(
  3266. TQ3GeometryObject pixmapMarker,
  3267. TQ3StoragePixmap * pixmap);
  3268. /*
  3269. * Q3PixmapMarker_SetPixmap()
  3270. *
  3271. * Availability:
  3272. * Non-Carbon CFM: not available
  3273. * CarbonLib: not available
  3274. * Mac OS X: not available
  3275. */
  3276. EXTERN_API_C( TQ3Status )
  3277. Q3PixmapMarker_SetPixmap(
  3278. TQ3GeometryObject pixmapMarker,
  3279. const TQ3StoragePixmap * pixmap);
  3280. /******************************************************************************
  3281. ** **
  3282. ** Point Data Structure Definitions **
  3283. ** **
  3284. *****************************************************************************/
  3285. #endif /* CALL_NOT_IN_CARBON */
  3286. struct TQ3PointData {
  3287. TQ3Point3D point;
  3288. TQ3AttributeSet pointAttributeSet;
  3289. };
  3290. typedef struct TQ3PointData TQ3PointData;
  3291. /******************************************************************************
  3292. ** **
  3293. ** Point Routines **
  3294. ** **
  3295. *****************************************************************************/
  3296. #if CALL_NOT_IN_CARBON
  3297. /*
  3298. * Q3Point_New()
  3299. *
  3300. * Availability:
  3301. * Non-Carbon CFM: not available
  3302. * CarbonLib: not available
  3303. * Mac OS X: not available
  3304. */
  3305. EXTERN_API_C( TQ3GeometryObject )
  3306. Q3Point_New(const TQ3PointData * pointData);
  3307. /*
  3308. * Q3Point_Submit()
  3309. *
  3310. * Availability:
  3311. * Non-Carbon CFM: not available
  3312. * CarbonLib: not available
  3313. * Mac OS X: not available
  3314. */
  3315. EXTERN_API_C( TQ3Status )
  3316. Q3Point_Submit(
  3317. const TQ3PointData * pointData,
  3318. TQ3ViewObject view);
  3319. /*
  3320. * Q3Point_GetData()
  3321. *
  3322. * Availability:
  3323. * Non-Carbon CFM: not available
  3324. * CarbonLib: not available
  3325. * Mac OS X: not available
  3326. */
  3327. EXTERN_API_C( TQ3Status )
  3328. Q3Point_GetData(
  3329. TQ3GeometryObject point,
  3330. TQ3PointData * pointData);
  3331. /*
  3332. * Q3Point_SetData()
  3333. *
  3334. * Availability:
  3335. * Non-Carbon CFM: not available
  3336. * CarbonLib: not available
  3337. * Mac OS X: not available
  3338. */
  3339. EXTERN_API_C( TQ3Status )
  3340. Q3Point_SetData(
  3341. TQ3GeometryObject point,
  3342. const TQ3PointData * pointData);
  3343. /*
  3344. * Q3Point_EmptyData()
  3345. *
  3346. * Availability:
  3347. * Non-Carbon CFM: not available
  3348. * CarbonLib: not available
  3349. * Mac OS X: not available
  3350. */
  3351. EXTERN_API_C( TQ3Status )
  3352. Q3Point_EmptyData(TQ3PointData * pointData);
  3353. /*
  3354. * Q3Point_SetPosition()
  3355. *
  3356. * Availability:
  3357. * Non-Carbon CFM: not available
  3358. * CarbonLib: not available
  3359. * Mac OS X: not available
  3360. */
  3361. EXTERN_API_C( TQ3Status )
  3362. Q3Point_SetPosition(
  3363. TQ3GeometryObject point,
  3364. const TQ3Point3D * position);
  3365. /*
  3366. * Q3Point_GetPosition()
  3367. *
  3368. * Availability:
  3369. * Non-Carbon CFM: not available
  3370. * CarbonLib: not available
  3371. * Mac OS X: not available
  3372. */
  3373. EXTERN_API_C( TQ3Status )
  3374. Q3Point_GetPosition(
  3375. TQ3GeometryObject point,
  3376. TQ3Point3D * position);
  3377. /******************************************************************************
  3378. ** **
  3379. ** Polygon Data Structure Definitions **
  3380. ** **
  3381. *****************************************************************************/
  3382. #endif /* CALL_NOT_IN_CARBON */
  3383. struct TQ3PolygonData {
  3384. unsigned long numVertices;
  3385. TQ3Vertex3D * vertices;
  3386. TQ3AttributeSet polygonAttributeSet;
  3387. };
  3388. typedef struct TQ3PolygonData TQ3PolygonData;
  3389. /******************************************************************************
  3390. ** **
  3391. ** Polygon Routines **
  3392. ** **
  3393. *****************************************************************************/
  3394. #if CALL_NOT_IN_CARBON
  3395. /*
  3396. * Q3Polygon_New()
  3397. *
  3398. * Availability:
  3399. * Non-Carbon CFM: not available
  3400. * CarbonLib: not available
  3401. * Mac OS X: not available
  3402. */
  3403. EXTERN_API_C( TQ3GeometryObject )
  3404. Q3Polygon_New(const TQ3PolygonData * polygonData);
  3405. /*
  3406. * Q3Polygon_Submit()
  3407. *
  3408. * Availability:
  3409. * Non-Carbon CFM: not available
  3410. * CarbonLib: not available
  3411. * Mac OS X: not available
  3412. */
  3413. EXTERN_API_C( TQ3Status )
  3414. Q3Polygon_Submit(
  3415. const TQ3PolygonData * polygonData,
  3416. TQ3ViewObject view);
  3417. /*
  3418. * Q3Polygon_SetData()
  3419. *
  3420. * Availability:
  3421. * Non-Carbon CFM: not available
  3422. * CarbonLib: not available
  3423. * Mac OS X: not available
  3424. */
  3425. EXTERN_API_C( TQ3Status )
  3426. Q3Polygon_SetData(
  3427. TQ3GeometryObject polygon,
  3428. const TQ3PolygonData * polygonData);
  3429. /*
  3430. * Q3Polygon_GetData()
  3431. *
  3432. * Availability:
  3433. * Non-Carbon CFM: not available
  3434. * CarbonLib: not available
  3435. * Mac OS X: not available
  3436. */
  3437. EXTERN_API_C( TQ3Status )
  3438. Q3Polygon_GetData(
  3439. TQ3GeometryObject polygon,
  3440. TQ3PolygonData * polygonData);
  3441. /*
  3442. * Q3Polygon_EmptyData()
  3443. *
  3444. * Availability:
  3445. * Non-Carbon CFM: not available
  3446. * CarbonLib: not available
  3447. * Mac OS X: not available
  3448. */
  3449. EXTERN_API_C( TQ3Status )
  3450. Q3Polygon_EmptyData(TQ3PolygonData * polygonData);
  3451. /*
  3452. * Q3Polygon_GetVertexPosition()
  3453. *
  3454. * Availability:
  3455. * Non-Carbon CFM: not available
  3456. * CarbonLib: not available
  3457. * Mac OS X: not available
  3458. */
  3459. EXTERN_API_C( TQ3Status )
  3460. Q3Polygon_GetVertexPosition(
  3461. TQ3GeometryObject polygon,
  3462. unsigned long index,
  3463. TQ3Point3D * point);
  3464. /*
  3465. * Q3Polygon_SetVertexPosition()
  3466. *
  3467. * Availability:
  3468. * Non-Carbon CFM: not available
  3469. * CarbonLib: not available
  3470. * Mac OS X: not available
  3471. */
  3472. EXTERN_API_C( TQ3Status )
  3473. Q3Polygon_SetVertexPosition(
  3474. TQ3GeometryObject polygon,
  3475. unsigned long index,
  3476. const TQ3Point3D * point);
  3477. /*
  3478. * Q3Polygon_GetVertexAttributeSet()
  3479. *
  3480. * Availability:
  3481. * Non-Carbon CFM: not available
  3482. * CarbonLib: not available
  3483. * Mac OS X: not available
  3484. */
  3485. EXTERN_API_C( TQ3Status )
  3486. Q3Polygon_GetVertexAttributeSet(
  3487. TQ3GeometryObject polygon,
  3488. unsigned long index,
  3489. TQ3AttributeSet * attributeSet);
  3490. /*
  3491. * Q3Polygon_SetVertexAttributeSet()
  3492. *
  3493. * Availability:
  3494. * Non-Carbon CFM: not available
  3495. * CarbonLib: not available
  3496. * Mac OS X: not available
  3497. */
  3498. EXTERN_API_C( TQ3Status )
  3499. Q3Polygon_SetVertexAttributeSet(
  3500. TQ3GeometryObject polygon,
  3501. unsigned long index,
  3502. TQ3AttributeSet attributeSet);
  3503. /******************************************************************************
  3504. ** **
  3505. ** Polyhedron Data Structure Definitions **
  3506. ** **
  3507. *****************************************************************************/
  3508. #endif /* CALL_NOT_IN_CARBON */
  3509. enum TQ3PolyhedronEdgeMasks {
  3510. kQ3PolyhedronEdgeNone = 0,
  3511. kQ3PolyhedronEdge01 = 1 << 0,
  3512. kQ3PolyhedronEdge12 = 1 << 1,
  3513. kQ3PolyhedronEdge20 = 1 << 2,
  3514. kQ3PolyhedronEdgeAll = kQ3PolyhedronEdge01 | kQ3PolyhedronEdge12 | kQ3PolyhedronEdge20
  3515. };
  3516. typedef enum TQ3PolyhedronEdgeMasks TQ3PolyhedronEdgeMasks;
  3517. typedef unsigned long TQ3PolyhedronEdge;
  3518. struct TQ3PolyhedronEdgeData {
  3519. unsigned long vertexIndices[2];
  3520. unsigned long triangleIndices[2];
  3521. TQ3AttributeSet edgeAttributeSet;
  3522. };
  3523. typedef struct TQ3PolyhedronEdgeData TQ3PolyhedronEdgeData;
  3524. struct TQ3PolyhedronTriangleData {
  3525. unsigned long vertexIndices[3];
  3526. TQ3PolyhedronEdge edgeFlag;
  3527. TQ3AttributeSet triangleAttributeSet;
  3528. };
  3529. typedef struct TQ3PolyhedronTriangleData TQ3PolyhedronTriangleData;
  3530. struct TQ3PolyhedronData {
  3531. unsigned long numVertices;
  3532. TQ3Vertex3D * vertices;
  3533. unsigned long numEdges;
  3534. TQ3PolyhedronEdgeData * edges;
  3535. unsigned long numTriangles;
  3536. TQ3PolyhedronTriangleData * triangles;
  3537. TQ3AttributeSet polyhedronAttributeSet;
  3538. };
  3539. typedef struct TQ3PolyhedronData TQ3PolyhedronData;
  3540. /******************************************************************************
  3541. ** **
  3542. ** Polyhedron Routines **
  3543. ** **
  3544. *****************************************************************************/
  3545. #if CALL_NOT_IN_CARBON
  3546. /*
  3547. * Q3Polyhedron_New()
  3548. *
  3549. * Availability:
  3550. * Non-Carbon CFM: not available
  3551. * CarbonLib: not available
  3552. * Mac OS X: not available
  3553. */
  3554. EXTERN_API_C( TQ3GeometryObject )
  3555. Q3Polyhedron_New(const TQ3PolyhedronData * polyhedronData);
  3556. /*
  3557. * Q3Polyhedron_Submit()
  3558. *
  3559. * Availability:
  3560. * Non-Carbon CFM: not available
  3561. * CarbonLib: not available
  3562. * Mac OS X: not available
  3563. */
  3564. EXTERN_API_C( TQ3Status )
  3565. Q3Polyhedron_Submit(
  3566. const TQ3PolyhedronData * polyhedronData,
  3567. TQ3ViewObject view);
  3568. /*
  3569. * Q3Polyhedron_SetData()
  3570. *
  3571. * Availability:
  3572. * Non-Carbon CFM: not available
  3573. * CarbonLib: not available
  3574. * Mac OS X: not available
  3575. */
  3576. EXTERN_API_C( TQ3Status )
  3577. Q3Polyhedron_SetData(
  3578. TQ3GeometryObject polyhedron,
  3579. const TQ3PolyhedronData * polyhedronData);
  3580. /*
  3581. * Q3Polyhedron_GetData()
  3582. *
  3583. * Availability:
  3584. * Non-Carbon CFM: not available
  3585. * CarbonLib: not available
  3586. * Mac OS X: not available
  3587. */
  3588. EXTERN_API_C( TQ3Status )
  3589. Q3Polyhedron_GetData(
  3590. TQ3GeometryObject polyhedron,
  3591. TQ3PolyhedronData * polyhedronData);
  3592. /*
  3593. * Q3Polyhedron_EmptyData()
  3594. *
  3595. * Availability:
  3596. * Non-Carbon CFM: not available
  3597. * CarbonLib: not available
  3598. * Mac OS X: not available
  3599. */
  3600. EXTERN_API_C( TQ3Status )
  3601. Q3Polyhedron_EmptyData(TQ3PolyhedronData * polyhedronData);
  3602. /*
  3603. * Q3Polyhedron_SetVertexPosition()
  3604. *
  3605. * Availability:
  3606. * Non-Carbon CFM: not available
  3607. * CarbonLib: not available
  3608. * Mac OS X: not available
  3609. */
  3610. EXTERN_API_C( TQ3Status )
  3611. Q3Polyhedron_SetVertexPosition(
  3612. TQ3GeometryObject polyhedron,
  3613. unsigned long index,
  3614. const TQ3Point3D * point);
  3615. /*
  3616. * Q3Polyhedron_GetVertexPosition()
  3617. *
  3618. * Availability:
  3619. * Non-Carbon CFM: not available
  3620. * CarbonLib: not available
  3621. * Mac OS X: not available
  3622. */
  3623. EXTERN_API_C( TQ3Status )
  3624. Q3Polyhedron_GetVertexPosition(
  3625. TQ3GeometryObject polyhedron,
  3626. unsigned long index,
  3627. TQ3Point3D * point);
  3628. /*
  3629. * Q3Polyhedron_SetVertexAttributeSet()
  3630. *
  3631. * Availability:
  3632. * Non-Carbon CFM: not available
  3633. * CarbonLib: not available
  3634. * Mac OS X: not available
  3635. */
  3636. EXTERN_API_C( TQ3Status )
  3637. Q3Polyhedron_SetVertexAttributeSet(
  3638. TQ3GeometryObject polyhedron,
  3639. unsigned long index,
  3640. TQ3AttributeSet attributeSet);
  3641. /*
  3642. * Q3Polyhedron_GetVertexAttributeSet()
  3643. *
  3644. * Availability:
  3645. * Non-Carbon CFM: not available
  3646. * CarbonLib: not available
  3647. * Mac OS X: not available
  3648. */
  3649. EXTERN_API_C( TQ3Status )
  3650. Q3Polyhedron_GetVertexAttributeSet(
  3651. TQ3GeometryObject polyhedron,
  3652. unsigned long index,
  3653. TQ3AttributeSet * attributeSet);
  3654. /*
  3655. * Q3Polyhedron_GetTriangleData()
  3656. *
  3657. * Availability:
  3658. * Non-Carbon CFM: not available
  3659. * CarbonLib: not available
  3660. * Mac OS X: not available
  3661. */
  3662. EXTERN_API_C( TQ3Status )
  3663. Q3Polyhedron_GetTriangleData(
  3664. TQ3GeometryObject polyhedron,
  3665. unsigned long triangleIndex,
  3666. TQ3PolyhedronTriangleData * triangleData);
  3667. /*
  3668. * Q3Polyhedron_SetTriangleData()
  3669. *
  3670. * Availability:
  3671. * Non-Carbon CFM: not available
  3672. * CarbonLib: not available
  3673. * Mac OS X: not available
  3674. */
  3675. EXTERN_API_C( TQ3Status )
  3676. Q3Polyhedron_SetTriangleData(
  3677. TQ3GeometryObject polyhedron,
  3678. unsigned long triangleIndex,
  3679. const TQ3PolyhedronTriangleData * triangleData);
  3680. /*
  3681. * Q3Polyhedron_GetEdgeData()
  3682. *
  3683. * Availability:
  3684. * Non-Carbon CFM: not available
  3685. * CarbonLib: not available
  3686. * Mac OS X: not available
  3687. */
  3688. EXTERN_API_C( TQ3Status )
  3689. Q3Polyhedron_GetEdgeData(
  3690. TQ3GeometryObject polyhedron,
  3691. unsigned long edgeIndex,
  3692. TQ3PolyhedronEdgeData * edgeData);
  3693. /*
  3694. * Q3Polyhedron_SetEdgeData()
  3695. *
  3696. * Availability:
  3697. * Non-Carbon CFM: not available
  3698. * CarbonLib: not available
  3699. * Mac OS X: not available
  3700. */
  3701. EXTERN_API_C( TQ3Status )
  3702. Q3Polyhedron_SetEdgeData(
  3703. TQ3GeometryObject polyhedron,
  3704. unsigned long edgeIndex,
  3705. const TQ3PolyhedronEdgeData * edgeData);
  3706. /******************************************************************************
  3707. ** **
  3708. ** PolyLine Data Structure Definitions **
  3709. ** **
  3710. *****************************************************************************/
  3711. #endif /* CALL_NOT_IN_CARBON */
  3712. struct TQ3PolyLineData {
  3713. unsigned long numVertices;
  3714. TQ3Vertex3D * vertices;
  3715. TQ3AttributeSet * segmentAttributeSet;
  3716. TQ3AttributeSet polyLineAttributeSet;
  3717. };
  3718. typedef struct TQ3PolyLineData TQ3PolyLineData;
  3719. /******************************************************************************
  3720. ** **
  3721. ** PolyLine Routines **
  3722. ** **
  3723. *****************************************************************************/
  3724. #if CALL_NOT_IN_CARBON
  3725. /*
  3726. * Q3PolyLine_New()
  3727. *
  3728. * Availability:
  3729. * Non-Carbon CFM: not available
  3730. * CarbonLib: not available
  3731. * Mac OS X: not available
  3732. */
  3733. EXTERN_API_C( TQ3GeometryObject )
  3734. Q3PolyLine_New(const TQ3PolyLineData * polylineData);
  3735. /*
  3736. * Q3PolyLine_Submit()
  3737. *
  3738. * Availability:
  3739. * Non-Carbon CFM: not available
  3740. * CarbonLib: not available
  3741. * Mac OS X: not available
  3742. */
  3743. EXTERN_API_C( TQ3Status )
  3744. Q3PolyLine_Submit(
  3745. const TQ3PolyLineData * polyLineData,
  3746. TQ3ViewObject view);
  3747. /*
  3748. * Q3PolyLine_SetData()
  3749. *
  3750. * Availability:
  3751. * Non-Carbon CFM: not available
  3752. * CarbonLib: not available
  3753. * Mac OS X: not available
  3754. */
  3755. EXTERN_API_C( TQ3Status )
  3756. Q3PolyLine_SetData(
  3757. TQ3GeometryObject polyLine,
  3758. const TQ3PolyLineData * polyLineData);
  3759. /*
  3760. * Q3PolyLine_GetData()
  3761. *
  3762. * Availability:
  3763. * Non-Carbon CFM: not available
  3764. * CarbonLib: not available
  3765. * Mac OS X: not available
  3766. */
  3767. EXTERN_API_C( TQ3Status )
  3768. Q3PolyLine_GetData(
  3769. TQ3GeometryObject polyLine,
  3770. TQ3PolyLineData * polyLineData);
  3771. /*
  3772. * Q3PolyLine_EmptyData()
  3773. *
  3774. * Availability:
  3775. * Non-Carbon CFM: not available
  3776. * CarbonLib: not available
  3777. * Mac OS X: not available
  3778. */
  3779. EXTERN_API_C( TQ3Status )
  3780. Q3PolyLine_EmptyData(TQ3PolyLineData * polyLineData);
  3781. /*
  3782. * Q3PolyLine_GetVertexPosition()
  3783. *
  3784. * Availability:
  3785. * Non-Carbon CFM: not available
  3786. * CarbonLib: not available
  3787. * Mac OS X: not available
  3788. */
  3789. EXTERN_API_C( TQ3Status )
  3790. Q3PolyLine_GetVertexPosition(
  3791. TQ3GeometryObject polyLine,
  3792. unsigned long index,
  3793. TQ3Point3D * position);
  3794. /*
  3795. * Q3PolyLine_SetVertexPosition()
  3796. *
  3797. * Availability:
  3798. * Non-Carbon CFM: not available
  3799. * CarbonLib: not available
  3800. * Mac OS X: not available
  3801. */
  3802. EXTERN_API_C( TQ3Status )
  3803. Q3PolyLine_SetVertexPosition(
  3804. TQ3GeometryObject polyLine,
  3805. unsigned long index,
  3806. const TQ3Point3D * position);
  3807. /*
  3808. * Q3PolyLine_GetVertexAttributeSet()
  3809. *
  3810. * Availability:
  3811. * Non-Carbon CFM: not available
  3812. * CarbonLib: not available
  3813. * Mac OS X: not available
  3814. */
  3815. EXTERN_API_C( TQ3Status )
  3816. Q3PolyLine_GetVertexAttributeSet(
  3817. TQ3GeometryObject polyLine,
  3818. unsigned long index,
  3819. TQ3AttributeSet * attributeSet);
  3820. /*
  3821. * Q3PolyLine_SetVertexAttributeSet()
  3822. *
  3823. * Availability:
  3824. * Non-Carbon CFM: not available
  3825. * CarbonLib: not available
  3826. * Mac OS X: not available
  3827. */
  3828. EXTERN_API_C( TQ3Status )
  3829. Q3PolyLine_SetVertexAttributeSet(
  3830. TQ3GeometryObject polyLine,
  3831. unsigned long index,
  3832. TQ3AttributeSet attributeSet);
  3833. /*
  3834. * Q3PolyLine_GetSegmentAttributeSet()
  3835. *
  3836. * Availability:
  3837. * Non-Carbon CFM: not available
  3838. * CarbonLib: not available
  3839. * Mac OS X: not available
  3840. */
  3841. EXTERN_API_C( TQ3Status )
  3842. Q3PolyLine_GetSegmentAttributeSet(
  3843. TQ3GeometryObject polyLine,
  3844. unsigned long index,
  3845. TQ3AttributeSet * attributeSet);
  3846. /*
  3847. * Q3PolyLine_SetSegmentAttributeSet()
  3848. *
  3849. * Availability:
  3850. * Non-Carbon CFM: not available
  3851. * CarbonLib: not available
  3852. * Mac OS X: not available
  3853. */
  3854. EXTERN_API_C( TQ3Status )
  3855. Q3PolyLine_SetSegmentAttributeSet(
  3856. TQ3GeometryObject polyLine,
  3857. unsigned long index,
  3858. TQ3AttributeSet attributeSet);
  3859. /******************************************************************************
  3860. ** **
  3861. ** Torus Data Structure Definitions **
  3862. ** **
  3863. *****************************************************************************/
  3864. #endif /* CALL_NOT_IN_CARBON */
  3865. struct TQ3TorusData {
  3866. TQ3Point3D origin;
  3867. TQ3Vector3D orientation;
  3868. TQ3Vector3D majorRadius;
  3869. TQ3Vector3D minorRadius;
  3870. float ratio;
  3871. float uMin;
  3872. float uMax;
  3873. float vMin;
  3874. float vMax;
  3875. TQ3EndCap caps;
  3876. TQ3AttributeSet interiorAttributeSet;
  3877. TQ3AttributeSet torusAttributeSet;
  3878. };
  3879. typedef struct TQ3TorusData TQ3TorusData;
  3880. /******************************************************************************
  3881. ** **
  3882. ** Torus Routines **
  3883. ** **
  3884. *****************************************************************************/
  3885. #if CALL_NOT_IN_CARBON
  3886. /*
  3887. * Q3Torus_New()
  3888. *
  3889. * Availability:
  3890. * Non-Carbon CFM: not available
  3891. * CarbonLib: not available
  3892. * Mac OS X: not available
  3893. */
  3894. EXTERN_API_C( TQ3GeometryObject )
  3895. Q3Torus_New(const TQ3TorusData * torusData);
  3896. /*
  3897. * Q3Torus_Submit()
  3898. *
  3899. * Availability:
  3900. * Non-Carbon CFM: not available
  3901. * CarbonLib: not available
  3902. * Mac OS X: not available
  3903. */
  3904. EXTERN_API_C( TQ3Status )
  3905. Q3Torus_Submit(
  3906. const TQ3TorusData * torusData,
  3907. TQ3ViewObject view);
  3908. /*
  3909. * Q3Torus_SetData()
  3910. *
  3911. * Availability:
  3912. * Non-Carbon CFM: not available
  3913. * CarbonLib: not available
  3914. * Mac OS X: not available
  3915. */
  3916. EXTERN_API_C( TQ3Status )
  3917. Q3Torus_SetData(
  3918. TQ3GeometryObject torus,
  3919. const TQ3TorusData * torusData);
  3920. /*
  3921. * Q3Torus_GetData()
  3922. *
  3923. * Availability:
  3924. * Non-Carbon CFM: not available
  3925. * CarbonLib: not available
  3926. * Mac OS X: not available
  3927. */
  3928. EXTERN_API_C( TQ3Status )
  3929. Q3Torus_GetData(
  3930. TQ3GeometryObject torus,
  3931. TQ3TorusData * torusData);
  3932. /*
  3933. * Q3Torus_SetOrigin()
  3934. *
  3935. * Availability:
  3936. * Non-Carbon CFM: not available
  3937. * CarbonLib: not available
  3938. * Mac OS X: not available
  3939. */
  3940. EXTERN_API_C( TQ3Status )
  3941. Q3Torus_SetOrigin(
  3942. TQ3GeometryObject torus,
  3943. const TQ3Point3D * origin);
  3944. /*
  3945. * Q3Torus_SetOrientation()
  3946. *
  3947. * Availability:
  3948. * Non-Carbon CFM: not available
  3949. * CarbonLib: not available
  3950. * Mac OS X: not available
  3951. */
  3952. EXTERN_API_C( TQ3Status )
  3953. Q3Torus_SetOrientation(
  3954. TQ3GeometryObject torus,
  3955. const TQ3Vector3D * orientation);
  3956. /*
  3957. * Q3Torus_SetMajorRadius()
  3958. *
  3959. * Availability:
  3960. * Non-Carbon CFM: not available
  3961. * CarbonLib: not available
  3962. * Mac OS X: not available
  3963. */
  3964. EXTERN_API_C( TQ3Status )
  3965. Q3Torus_SetMajorRadius(
  3966. TQ3GeometryObject torus,
  3967. const TQ3Vector3D * majorRadius);
  3968. /*
  3969. * Q3Torus_SetMinorRadius()
  3970. *
  3971. * Availability:
  3972. * Non-Carbon CFM: not available
  3973. * CarbonLib: not available
  3974. * Mac OS X: not available
  3975. */
  3976. EXTERN_API_C( TQ3Status )
  3977. Q3Torus_SetMinorRadius(
  3978. TQ3GeometryObject torus,
  3979. const TQ3Vector3D * minorRadius);
  3980. /*
  3981. * Q3Torus_SetRatio()
  3982. *
  3983. * Availability:
  3984. * Non-Carbon CFM: not available
  3985. * CarbonLib: not available
  3986. * Mac OS X: not available
  3987. */
  3988. EXTERN_API_C( TQ3Status )
  3989. Q3Torus_SetRatio(
  3990. TQ3GeometryObject torus,
  3991. float ratio);
  3992. /*
  3993. * Q3Torus_GetOrigin()
  3994. *
  3995. * Availability:
  3996. * Non-Carbon CFM: not available
  3997. * CarbonLib: not available
  3998. * Mac OS X: not available
  3999. */
  4000. EXTERN_API_C( TQ3Status )
  4001. Q3Torus_GetOrigin(
  4002. TQ3GeometryObject torus,
  4003. TQ3Point3D * origin);
  4004. /*
  4005. * Q3Torus_GetOrientation()
  4006. *
  4007. * Availability:
  4008. * Non-Carbon CFM: not available
  4009. * CarbonLib: not available
  4010. * Mac OS X: not available
  4011. */
  4012. EXTERN_API_C( TQ3Status )
  4013. Q3Torus_GetOrientation(
  4014. TQ3GeometryObject torus,
  4015. TQ3Vector3D * orientation);
  4016. /*
  4017. * Q3Torus_GetMajorRadius()
  4018. *
  4019. * Availability:
  4020. * Non-Carbon CFM: not available
  4021. * CarbonLib: not available
  4022. * Mac OS X: not available
  4023. */
  4024. EXTERN_API_C( TQ3Status )
  4025. Q3Torus_GetMajorRadius(
  4026. TQ3GeometryObject torus,
  4027. TQ3Vector3D * majorRadius);
  4028. /*
  4029. * Q3Torus_GetMinorRadius()
  4030. *
  4031. * Availability:
  4032. * Non-Carbon CFM: not available
  4033. * CarbonLib: not available
  4034. * Mac OS X: not available
  4035. */
  4036. EXTERN_API_C( TQ3Status )
  4037. Q3Torus_GetMinorRadius(
  4038. TQ3GeometryObject torus,
  4039. TQ3Vector3D * minorRadius);
  4040. /*
  4041. * Q3Torus_GetRatio()
  4042. *
  4043. * Availability:
  4044. * Non-Carbon CFM: not available
  4045. * CarbonLib: not available
  4046. * Mac OS X: not available
  4047. */
  4048. EXTERN_API_C( TQ3Status )
  4049. Q3Torus_GetRatio(
  4050. TQ3GeometryObject torus,
  4051. float * ratio);
  4052. /*
  4053. * Q3Torus_EmptyData()
  4054. *
  4055. * Availability:
  4056. * Non-Carbon CFM: not available
  4057. * CarbonLib: not available
  4058. * Mac OS X: not available
  4059. */
  4060. EXTERN_API_C( TQ3Status )
  4061. Q3Torus_EmptyData(TQ3TorusData * torusData);
  4062. /******************************************************************************
  4063. ** **
  4064. ** Triangle Data Structure Definitions **
  4065. ** **
  4066. *****************************************************************************/
  4067. #endif /* CALL_NOT_IN_CARBON */
  4068. struct TQ3TriangleData {
  4069. TQ3Vertex3D vertices[3];
  4070. TQ3AttributeSet triangleAttributeSet;
  4071. };
  4072. typedef struct TQ3TriangleData TQ3TriangleData;
  4073. /******************************************************************************
  4074. ** **
  4075. ** Triangle Routines **
  4076. ** **
  4077. *****************************************************************************/
  4078. #if CALL_NOT_IN_CARBON
  4079. /*
  4080. * Q3Triangle_New()
  4081. *
  4082. * Availability:
  4083. * Non-Carbon CFM: not available
  4084. * CarbonLib: not available
  4085. * Mac OS X: not available
  4086. */
  4087. EXTERN_API_C( TQ3GeometryObject )
  4088. Q3Triangle_New(const TQ3TriangleData * triangleData);
  4089. /*
  4090. * Q3Triangle_Submit()
  4091. *
  4092. * Availability:
  4093. * Non-Carbon CFM: not available
  4094. * CarbonLib: not available
  4095. * Mac OS X: not available
  4096. */
  4097. EXTERN_API_C( TQ3Status )
  4098. Q3Triangle_Submit(
  4099. const TQ3TriangleData * triangleData,
  4100. TQ3ViewObject view);
  4101. /*
  4102. * Q3Triangle_SetData()
  4103. *
  4104. * Availability:
  4105. * Non-Carbon CFM: not available
  4106. * CarbonLib: not available
  4107. * Mac OS X: not available
  4108. */
  4109. EXTERN_API_C( TQ3Status )
  4110. Q3Triangle_SetData(
  4111. TQ3GeometryObject triangle,
  4112. const TQ3TriangleData * triangleData);
  4113. /*
  4114. * Q3Triangle_GetData()
  4115. *
  4116. * Availability:
  4117. * Non-Carbon CFM: not available
  4118. * CarbonLib: not available
  4119. * Mac OS X: not available
  4120. */
  4121. EXTERN_API_C( TQ3Status )
  4122. Q3Triangle_GetData(
  4123. TQ3GeometryObject triangle,
  4124. TQ3TriangleData * triangleData);
  4125. /*
  4126. * Q3Triangle_EmptyData()
  4127. *
  4128. * Availability:
  4129. * Non-Carbon CFM: not available
  4130. * CarbonLib: not available
  4131. * Mac OS X: not available
  4132. */
  4133. EXTERN_API_C( TQ3Status )
  4134. Q3Triangle_EmptyData(TQ3TriangleData * triangleData);
  4135. /*
  4136. * Q3Triangle_GetVertexPosition()
  4137. *
  4138. * Availability:
  4139. * Non-Carbon CFM: not available
  4140. * CarbonLib: not available
  4141. * Mac OS X: not available
  4142. */
  4143. EXTERN_API_C( TQ3Status )
  4144. Q3Triangle_GetVertexPosition(
  4145. TQ3GeometryObject triangle,
  4146. unsigned long index,
  4147. TQ3Point3D * point);
  4148. /*
  4149. * Q3Triangle_SetVertexPosition()
  4150. *
  4151. * Availability:
  4152. * Non-Carbon CFM: not available
  4153. * CarbonLib: not available
  4154. * Mac OS X: not available
  4155. */
  4156. EXTERN_API_C( TQ3Status )
  4157. Q3Triangle_SetVertexPosition(
  4158. TQ3GeometryObject triangle,
  4159. unsigned long index,
  4160. const TQ3Point3D * point);
  4161. /*
  4162. * Q3Triangle_GetVertexAttributeSet()
  4163. *
  4164. * Availability:
  4165. * Non-Carbon CFM: not available
  4166. * CarbonLib: not available
  4167. * Mac OS X: not available
  4168. */
  4169. EXTERN_API_C( TQ3Status )
  4170. Q3Triangle_GetVertexAttributeSet(
  4171. TQ3GeometryObject triangle,
  4172. unsigned long index,
  4173. TQ3AttributeSet * attributeSet);
  4174. /*
  4175. * Q3Triangle_SetVertexAttributeSet()
  4176. *
  4177. * Availability:
  4178. * Non-Carbon CFM: not available
  4179. * CarbonLib: not available
  4180. * Mac OS X: not available
  4181. */
  4182. EXTERN_API_C( TQ3Status )
  4183. Q3Triangle_SetVertexAttributeSet(
  4184. TQ3GeometryObject triangle,
  4185. unsigned long index,
  4186. TQ3AttributeSet attributeSet);
  4187. /******************************************************************************
  4188. ** **
  4189. ** TriGrid Data Structure Definitions **
  4190. ** **
  4191. *****************************************************************************/
  4192. #endif /* CALL_NOT_IN_CARBON */
  4193. struct TQ3TriGridData {
  4194. unsigned long numRows;
  4195. unsigned long numColumns;
  4196. TQ3Vertex3D * vertices;
  4197. TQ3AttributeSet * facetAttributeSet;
  4198. TQ3AttributeSet triGridAttributeSet;
  4199. };
  4200. typedef struct TQ3TriGridData TQ3TriGridData;
  4201. /******************************************************************************
  4202. ** **
  4203. ** TriGrid Routines **
  4204. ** **
  4205. *****************************************************************************/
  4206. #if CALL_NOT_IN_CARBON
  4207. /*
  4208. * Q3TriGrid_New()
  4209. *
  4210. * Availability:
  4211. * Non-Carbon CFM: not available
  4212. * CarbonLib: not available
  4213. * Mac OS X: not available
  4214. */
  4215. EXTERN_API_C( TQ3GeometryObject )
  4216. Q3TriGrid_New(const TQ3TriGridData * triGridData);
  4217. /*
  4218. * Q3TriGrid_Submit()
  4219. *
  4220. * Availability:
  4221. * Non-Carbon CFM: not available
  4222. * CarbonLib: not available
  4223. * Mac OS X: not available
  4224. */
  4225. EXTERN_API_C( TQ3Status )
  4226. Q3TriGrid_Submit(
  4227. const TQ3TriGridData * triGridData,
  4228. TQ3ViewObject view);
  4229. /*
  4230. * Q3TriGrid_SetData()
  4231. *
  4232. * Availability:
  4233. * Non-Carbon CFM: not available
  4234. * CarbonLib: not available
  4235. * Mac OS X: not available
  4236. */
  4237. EXTERN_API_C( TQ3Status )
  4238. Q3TriGrid_SetData(
  4239. TQ3GeometryObject triGrid,
  4240. const TQ3TriGridData * triGridData);
  4241. /*
  4242. * Q3TriGrid_GetData()
  4243. *
  4244. * Availability:
  4245. * Non-Carbon CFM: not available
  4246. * CarbonLib: not available
  4247. * Mac OS X: not available
  4248. */
  4249. EXTERN_API_C( TQ3Status )
  4250. Q3TriGrid_GetData(
  4251. TQ3GeometryObject triGrid,
  4252. TQ3TriGridData * triGridData);
  4253. /*
  4254. * Q3TriGrid_EmptyData()
  4255. *
  4256. * Availability:
  4257. * Non-Carbon CFM: not available
  4258. * CarbonLib: not available
  4259. * Mac OS X: not available
  4260. */
  4261. EXTERN_API_C( TQ3Status )
  4262. Q3TriGrid_EmptyData(TQ3TriGridData * triGridData);
  4263. /*
  4264. * Q3TriGrid_GetVertexPosition()
  4265. *
  4266. * Availability:
  4267. * Non-Carbon CFM: not available
  4268. * CarbonLib: not available
  4269. * Mac OS X: not available
  4270. */
  4271. EXTERN_API_C( TQ3Status )
  4272. Q3TriGrid_GetVertexPosition(
  4273. TQ3GeometryObject triGrid,
  4274. unsigned long rowIndex,
  4275. unsigned long columnIndex,
  4276. TQ3Point3D * position);
  4277. /*
  4278. * Q3TriGrid_SetVertexPosition()
  4279. *
  4280. * Availability:
  4281. * Non-Carbon CFM: not available
  4282. * CarbonLib: not available
  4283. * Mac OS X: not available
  4284. */
  4285. EXTERN_API_C( TQ3Status )
  4286. Q3TriGrid_SetVertexPosition(
  4287. TQ3GeometryObject triGrid,
  4288. unsigned long rowIndex,
  4289. unsigned long columnIndex,
  4290. const TQ3Point3D * position);
  4291. /*
  4292. * Q3TriGrid_GetVertexAttributeSet()
  4293. *
  4294. * Availability:
  4295. * Non-Carbon CFM: not available
  4296. * CarbonLib: not available
  4297. * Mac OS X: not available
  4298. */
  4299. EXTERN_API_C( TQ3Status )
  4300. Q3TriGrid_GetVertexAttributeSet(
  4301. TQ3GeometryObject triGrid,
  4302. unsigned long rowIndex,
  4303. unsigned long columnIndex,
  4304. TQ3AttributeSet * attributeSet);
  4305. /*
  4306. * Q3TriGrid_SetVertexAttributeSet()
  4307. *
  4308. * Availability:
  4309. * Non-Carbon CFM: not available
  4310. * CarbonLib: not available
  4311. * Mac OS X: not available
  4312. */
  4313. EXTERN_API_C( TQ3Status )
  4314. Q3TriGrid_SetVertexAttributeSet(
  4315. TQ3GeometryObject triGrid,
  4316. unsigned long rowIndex,
  4317. unsigned long columnIndex,
  4318. TQ3AttributeSet attributeSet);
  4319. /*
  4320. * Q3TriGrid_GetFacetAttributeSet()
  4321. *
  4322. * Availability:
  4323. * Non-Carbon CFM: not available
  4324. * CarbonLib: not available
  4325. * Mac OS X: not available
  4326. */
  4327. EXTERN_API_C( TQ3Status )
  4328. Q3TriGrid_GetFacetAttributeSet(
  4329. TQ3GeometryObject triGrid,
  4330. unsigned long faceIndex,
  4331. TQ3AttributeSet * facetAttributeSet);
  4332. /*
  4333. * Q3TriGrid_SetFacetAttributeSet()
  4334. *
  4335. * Availability:
  4336. * Non-Carbon CFM: not available
  4337. * CarbonLib: not available
  4338. * Mac OS X: not available
  4339. */
  4340. EXTERN_API_C( TQ3Status )
  4341. Q3TriGrid_SetFacetAttributeSet(
  4342. TQ3GeometryObject triGrid,
  4343. unsigned long faceIndex,
  4344. TQ3AttributeSet facetAttributeSet);
  4345. /******************************************************************************
  4346. ** **
  4347. ** TriMesh Data Structure Definitions **
  4348. ** **
  4349. *****************************************************************************/
  4350. #endif /* CALL_NOT_IN_CARBON */
  4351. struct TQ3TriMeshTriangleData {
  4352. unsigned long pointIndices[3];
  4353. };
  4354. typedef struct TQ3TriMeshTriangleData TQ3TriMeshTriangleData;
  4355. struct TQ3TriMeshEdgeData {
  4356. unsigned long pointIndices[2];
  4357. unsigned long triangleIndices[2];
  4358. };
  4359. typedef struct TQ3TriMeshEdgeData TQ3TriMeshEdgeData;
  4360. struct TQ3TriMeshAttributeData {
  4361. TQ3AttributeType attributeType; /* The type of attribute */
  4362. void * data; /* Pointer to the contiguous */
  4363. /* attribute data. */
  4364. char * attributeUseArray; /* This is only used with custom */
  4365. /* attributes */
  4366. };
  4367. typedef struct TQ3TriMeshAttributeData TQ3TriMeshAttributeData;
  4368. struct TQ3TriMeshData {
  4369. TQ3AttributeSet triMeshAttributeSet;
  4370. unsigned long numTriangles;
  4371. TQ3TriMeshTriangleData * triangles;
  4372. unsigned long numTriangleAttributeTypes;
  4373. TQ3TriMeshAttributeData * triangleAttributeTypes;
  4374. unsigned long numEdges;
  4375. TQ3TriMeshEdgeData * edges;
  4376. unsigned long numEdgeAttributeTypes;
  4377. TQ3TriMeshAttributeData * edgeAttributeTypes;
  4378. unsigned long numPoints;
  4379. TQ3Point3D * points;
  4380. unsigned long numVertexAttributeTypes;
  4381. TQ3TriMeshAttributeData * vertexAttributeTypes;
  4382. TQ3BoundingBox bBox;
  4383. };
  4384. typedef struct TQ3TriMeshData TQ3TriMeshData;
  4385. /******************************************************************************
  4386. ** **
  4387. ** TriMesh Routines **
  4388. ** **
  4389. *****************************************************************************/
  4390. #if CALL_NOT_IN_CARBON
  4391. /*
  4392. * Q3TriMesh_New()
  4393. *
  4394. * Availability:
  4395. * Non-Carbon CFM: not available
  4396. * CarbonLib: not available
  4397. * Mac OS X: not available
  4398. */
  4399. EXTERN_API_C( TQ3GeometryObject )
  4400. Q3TriMesh_New(const TQ3TriMeshData * triMeshData);
  4401. /*
  4402. * Q3TriMesh_Submit()
  4403. *
  4404. * Availability:
  4405. * Non-Carbon CFM: not available
  4406. * CarbonLib: not available
  4407. * Mac OS X: not available
  4408. */
  4409. EXTERN_API_C( TQ3Status )
  4410. Q3TriMesh_Submit(
  4411. const TQ3TriMeshData * triMeshData,
  4412. TQ3ViewObject view);
  4413. /*
  4414. * Q3TriMesh_SetData()
  4415. *
  4416. * Availability:
  4417. * Non-Carbon CFM: not available
  4418. * CarbonLib: not available
  4419. * Mac OS X: not available
  4420. */
  4421. EXTERN_API_C( TQ3Status )
  4422. Q3TriMesh_SetData(
  4423. TQ3GeometryObject triMesh,
  4424. const TQ3TriMeshData * triMeshData);
  4425. /*
  4426. * Q3TriMesh_GetData()
  4427. *
  4428. * Availability:
  4429. * Non-Carbon CFM: not available
  4430. * CarbonLib: not available
  4431. * Mac OS X: not available
  4432. */
  4433. EXTERN_API_C( TQ3Status )
  4434. Q3TriMesh_GetData(
  4435. TQ3GeometryObject triMesh,
  4436. TQ3TriMeshData * triMeshData);
  4437. /*
  4438. * Q3TriMesh_EmptyData()
  4439. *
  4440. * Availability:
  4441. * Non-Carbon CFM: not available
  4442. * CarbonLib: not available
  4443. * Mac OS X: not available
  4444. */
  4445. EXTERN_API_C( TQ3Status )
  4446. Q3TriMesh_EmptyData(TQ3TriMeshData * triMeshData);
  4447. #endif /* CALL_NOT_IN_CARBON */
  4448. #if PRAGMA_ENUM_ALWAYSINT
  4449. #pragma enumsalwaysint reset
  4450. #ifdef __QD3DGEOMETRY__RESTORE_TWOBYTEINTS
  4451. #pragma fourbyteints off
  4452. #endif
  4453. #elif PRAGMA_ENUM_OPTIONS
  4454. #pragma option enum=reset
  4455. #elif defined(__QD3DGEOMETRY__RESTORE_PACKED_ENUMS)
  4456. #pragma options(pack_enums)
  4457. #endif
  4458. #if PRAGMA_STRUCT_ALIGN
  4459. #pragma options align=reset
  4460. #elif PRAGMA_STRUCT_PACKPUSH
  4461. #pragma pack(pop)
  4462. #elif PRAGMA_STRUCT_PACK
  4463. #pragma pack()
  4464. #endif
  4465. #ifdef PRAGMA_IMPORT_OFF
  4466. #pragma import off
  4467. #elif PRAGMA_IMPORT
  4468. #pragma import reset
  4469. #endif
  4470. #ifdef __cplusplus
  4471. }
  4472. #endif
  4473. #endif /* __QD3DGEOMETRY__ */