00001 #ifndef __AIPerspectiveTransform__
00002 #define __AIPerspectiveTransform__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __AITypes__
00030 #include "AITypes.h"
00031 #endif
00032
00033 #include "AIHeaderBegin.h"
00034
00037
00038
00039
00040
00041
00042
00043 #define kAIPerspectiveTransformSuite "AI Perspective Transform Suite"
00044 #define kAIPerspectiveTransformSuiteVersion AIAPI_VERSION(3)
00045 #define kAIPerspectiveTransformVersion kAIPerspectiveTransformSuiteVersion
00046
00047
00048
00049
00050
00051
00052
00054 enum GridPlaneType{
00055 kInvalidGridPlane = -2,
00056 kCurrentlyActivePlane = -1,
00057 kGridLeftPlane = 0,
00058 kGridRightPlane,
00059 kGridFloorPlane,
00060 kGridNoPlane
00061 };
00062
00063
00064
00065
00066
00067
00068
00074 typedef struct {
00075
00086 AIAPI AIBoolean (*PutInPerspective) (AIArtHandle art, GridPlaneType activePlane, AIReal* planeOffset);
00087
00094 AIAPI AIBoolean (*GetOriginalArt)(AIArtHandle art);
00095
00104 AIAPI AIBoolean (*GetOriginalPoint) (AIRealPoint& point, GridPlaneType activePlane, AIReal* planeOffset);
00105
00115 AIAPI AIBoolean (*GetPerspectivePoint) (AIRealPoint& point, GridPlaneType activePlane, AIReal* planeOffset);
00116
00124 AIAPI AIBoolean (*ApplyTransformInPerspective) (AIArtHandle art, AIRealMatrix transform);
00125
00131 AIAPI AIBoolean (*IsArtInPerspective) (AIArtHandle art);
00132
00140 AIAPI AIErr (*ReleaseArtFromPerspective) (AIArtHandle art);
00141
00147 AIAPI AIErr (*AttachArtToPerspective) (AIArtHandle art);
00148
00154 AIAPI AIBoolean (*CanAttachToPerspective) (AIArtHandle art);
00155
00161 AIAPI AIBoolean (*CanReleaseFromPerspective) (AIArtHandle art);
00162
00169 AIAPI AIBoolean (*IsPerspectivePluginObject) (AIArtHandle art);
00170
00177 AIAPI AIErr (*GetTypeOfPerspectiveObject)(AIArtHandle art, ai::int16 &type);
00178
00185 AIAPI AIBoolean (*IsPerspectiveObjectEditingOriginal)(AIArtHandle art);
00186
00193 AIAPI AIErr (*PlaceArtInPerspective) (AIArtHandle art, AIRealPoint startPoint, AIRealPoint endPoint, GridPlaneType plane);
00194
00200 AIAPI AIReal (*GetObjectPlaneOffset) (AIArtHandle art);
00201
00206 AIAPI AIErr (*GetObjectPlane) (AIArtHandle art, GridPlaneType *objectPlane);
00207
00208
00218 AIAPI AIErr (*ConstrainPtsInPlane)(AIRealPoint& startPt, AIRealPoint& endPt, GridPlaneType& gridPlane, AIReal *offset);
00219
00223 AIAPI AIErr (*IsSelectionInMultipleOffset)(AIBoolean* isMultiOffsetSelection);
00224
00231 AIAPI AIErr (*GetOriginalArtBounds) (AIArtHandle art, ai::int32 flags, AIRealRect& bounds);
00232
00233 } AIPerspectiveTransformSuite;
00234
00235 #include "AIHeaderEnd.h"
00236
00237 #endif // __AIPerspectiveTransform__