70 lines
3.1 KiB
C
70 lines
3.1 KiB
C
/***********************************************************************************************************************
|
|
*
|
|
* Copyright (c) 2010 - 2025 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);
|
|
|