Adobe.com
Contents Suites Classes Class Index Member Index

AIPerspectiveTransform.h

Go to the documentation of this file.
00001 #ifndef __AIPerspectiveTransform__
00002 #define __AIPerspectiveTransform__
00003 
00004 /*
00005 *                Name:  AIPerspectiveTransform.h
00006 *        Date:  Started 2009
00007 *     Purpose:  Adobe Illustrator Perspective Transform suite. This suite lets
00008 *                               clients project/reverse project point/arts in the currently defined
00009 *                               perspective grid in the document.
00010 *
00011 * ADOBE SYSTEMS INCORPORATED
00012 * Copyright 2009 Adobe Systems Incorporated.
00013 * All rights reserved.
00014 *
00015 * NOTICE:  Adobe permits you to use, modify, and distribute this file
00016 * in accordance with the terms of the Adobe license agreement
00017 * accompanying it. If you have received this file from a source other
00018 * than Adobe, then your use, modification, or distribution of it
00019 * requires the prior written permission of Adobe.
00020 *
00021 */
00022 
00023 /*******************************************************************************
00024  **
00025  **     Imports
00026  **
00027  **/
00028 
00029 #ifndef __AITypes__
00030 #include "AITypes.h"
00031 #endif
00032 
00033 #include "AIHeaderBegin.h"
00034 
00037 /*******************************************************************************
00038  **
00039  ** Constants
00040  **
00041  **/
00042 
00043 #define kAIPerspectiveTransformSuite                    "AI Perspective Transform Suite"
00044 #define kAIPerspectiveTransformSuiteVersion             AIAPI_VERSION(3)
00045 #define kAIPerspectiveTransformVersion                  kAIPerspectiveTransformSuiteVersion
00046 
00047 /*******************************************************************************
00048  **
00049  ** Types
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  **     Suite
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__


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks