acgidefs.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright 2015 Autodesk, Inc. All rights reserved.
  4. //
  5. // Use of this software is subject to the terms of the Autodesk license
  6. // agreement provided at the time of installation or download, or which
  7. // otherwise accompanies this software in either electronic or hard copy form.
  8. //
  9. //////////////////////////////////////////////////////////////////////////////
  10. #ifndef _ACGI_DEFS_H
  11. #define _ACGI_DEFS_H 1
  12. #include "adesk.h"
  13. // These are the current kinds of viewport regeneration modes.
  14. // This mode is not settable by the user, but it can be queried
  15. // in case you need to take different actions for different
  16. // regeneration modes.
  17. //
  18. typedef enum {
  19. eAcGiRegenTypeInvalid = 0,
  20. kAcGiStandardDisplay = 2,
  21. kAcGiHideOrShadeCommand,
  22. kAcGiRenderCommand, // deprecated
  23. kAcGiShadedDisplay = kAcGiRenderCommand,
  24. kAcGiForExplode,
  25. kAcGiSaveWorldDrawForProxy
  26. } AcGiRegenType;
  27. // No longer supported and will be removed
  28. //
  29. #define kAcGiSaveWorldDrawForR12 kAcGiForExplode
  30. // These are the current face filling modes
  31. //
  32. typedef enum {
  33. kAcGiFillAlways = 1,
  34. kAcGiFillNever
  35. } AcGiFillType;
  36. // These are the edge visibility types
  37. //
  38. typedef enum {
  39. kAcGiInvisible = 0,
  40. kAcGiVisible,
  41. kAcGiSilhouette
  42. } AcGiVisibility;
  43. // These are the types of arcs
  44. //
  45. typedef enum {
  46. kAcGiArcSimple = 0, // just the arc (not fillable)
  47. kAcGiArcSector, // area bounded by the arc and its center of curvature
  48. kAcGiArcChord // area bounded by the arc and its end points
  49. } AcGiArcType;
  50. // These are the possible types of vertex orientation
  51. //
  52. typedef enum {
  53. kAcGiCounterClockwise = -1,
  54. kAcGiNoOrientation = 0,
  55. kAcGiClockwise = 1
  56. } AcGiOrientationType;
  57. // This signifies how to calculate maximum deviation for tessellation
  58. //
  59. typedef enum {
  60. kAcGiMaxDevForCircle = 0,
  61. kAcGiMaxDevForCurve,
  62. kAcGiMaxDevForBoundary,
  63. kAcGiMaxDevForIsoline,
  64. kAcGiMaxDevForFacet
  65. } AcGiDeviationType;
  66. // Raster image organization
  67. //
  68. typedef enum {
  69. kAcGiBitonal,
  70. kAcGiPalette,
  71. kAcGiGray,
  72. kAcGiRGBA,
  73. kAcGiBGRA,
  74. kAcGiARGB,
  75. kAcGiABGR,
  76. kAcGiBGR,
  77. kAcGiRGB
  78. } AcGiImageOrg;
  79. // Raster image orientation
  80. //
  81. typedef enum {
  82. kAcGiXLeftToRightTopFirst,
  83. kAcGiXLeftToRightBottomFirst,
  84. kAcGiXRightToLeftTopFirst,
  85. kAcGiXRightToLeftBottomFirst,
  86. kAcGiYTopToBottomLeftFirst,
  87. kAcGiYTopToBottomRightFirst,
  88. kAcGiYBottomToTopLeftFirst,
  89. kAcGiYBottomToTopRightFirst
  90. } AcGiImageOrient;
  91. // scale filter method to use
  92. typedef enum {
  93. kDefaultScaleFilter,
  94. kNearestScaleFilter,
  95. kBellScaleFilter,
  96. kMitchellScaleFilter,
  97. kTriangleScaleFilter,
  98. kCubicScaleFilter,
  99. kBsplineScaleFilter,
  100. kLanczos3ScaleFilter
  101. } AcGiScaleFilterType;
  102. // rotation filter method to use
  103. typedef enum {
  104. kDefaultRotationFilter,
  105. kInterpolatedRotationFilter,
  106. kNearestRotationFilter,
  107. } AcGiRotationFilterType;
  108. // how to interpret nRasterRatio
  109. typedef enum {
  110. kDefaultScale, // classic scaling scheme
  111. kRelativeScale, // relative to original image, do rotation
  112. kUnTransformedScale // original pixels, unscaled, unrotated
  113. } AcGiScaleType;
  114. // highlight style
  115. enum AcGiHighlightStyle {
  116. kAcGiHighlightNone,
  117. kAcGiHighlightCustom,
  118. kAcGiHighlightDashedAndThicken,
  119. kAcGiHighlightDim,
  120. kAcGiHighlightThickDim,
  121. kAcGiHighlightGlow
  122. };
  123. enum AcGiEdgeStyleMaskValues {
  124. kAcGiNoEdgeStyleMask = 0,
  125. kAcGiJitterMask = 1,
  126. kAcGiOverhangMask = 2,
  127. kAcGiEdgeColorMask = 4
  128. };
  129. typedef unsigned int AcGiEdgeStyleMask;
  130. #endif