/*********************************************************************************************************************** * * Copyright (c) 2010 - 2022 by Tech Soft 3D, Inc. * The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret * as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event * of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized * employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the * scope and manner of such use. * ***********************************************************************************************************************/ /** * Sample CreatePRCCubes * file CreateMartkups.cpp * This file is containing the function allowing to create markups. * * Markups creation exemple * Create tessellated markups with linked items. * Different style of markups can be created (normal or face to screen). * Different links to the PRC entities can be created as well. * * These exemples are using the tessellation wrapper: HXWMarkupTessellation.cpp * * ***********************************************************************************************************************/ #pragma once #include "../CreatePRCCubesDef.h" #include "CreateLinkedItem.h" #include "CreateGraphics.h" //###################################################################################################################### enum FlatToScreenMode { FlatToScreen, FlatToScreenAlwaysOnTop, FlatToScreenNonZoomable }; //###################################################################################################################### // Tesselated Markup creation with Publish A3DStatus createMarkup(A3DMkpAnnotationItem** ppOutAnnotItem, const A3DUTF8Char* pcText, A3DUns32 uiLinkedEntitySize, A3DEntity** ppLinkedEntity, A3DAsmProductOccurrence** ppPOTarget, A3DVector3dData* pFramePos, A3DVector3dData* pLeaderPos = 0); A3DStatus createMarkupOnFace(A3DMkpAnnotationItem** ppOutAnnotItem, const A3DUTF8Char* pcText, A3DUns32 uiLinkedEntitySize, A3DEntity** ppLinkedEntity, A3DAsmProductOccurrence** ppPOTarget, A3DUns32* puiFaceIndexes, A3DVector3dData* pFramePos, A3DVector3dData* pLeaderPos = 0); A3DStatus createMarkupFaceToScreen(A3DMkpAnnotationItem** ppOutAnnotItem, const A3DUTF8Char* pcText, A3DUns32 uiLinkedEntitySize, A3DEntity** ppLinkedEntity, A3DAsmProductOccurrence** ppPOTarget, A3DVector3dData* pFramePos, FlatToScreenMode inFlatToScreenMode = FlatToScreen);