Init
This commit is contained in:
190
exchange/exchangesource/DrawingViewer/callback_opengl.h
Normal file
190
exchange/exchangesource/DrawingViewer/callback_opengl.h
Normal file
@@ -0,0 +1,190 @@
|
||||
/***********************************************************************************************************************
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
***********************************************************************************************************************/
|
||||
/**
|
||||
\file callback_opengl.h
|
||||
|
||||
This file demonstrates how to programmatically visualize a PRC file from a basic OpenGL program using HOOPS Exchange.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef _CALLBACK_OPENGL_H_
|
||||
#define _CALLBACK_OPENGL_H_
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <GLUT/glut.h>
|
||||
#else
|
||||
#include <GL/glut.h>
|
||||
#endif
|
||||
|
||||
|
||||
//#define USE_A3D_CALLBACKS
|
||||
|
||||
#ifdef USE_A3D_CALLBACKS
|
||||
#define A3DORNOTDrawGetBoundingBox A3DDrawGetBoundingBox
|
||||
#define A3DORNOTDraw A3DDraw
|
||||
#define A3DORNOTDrawInitCallbacks A3DDrawInitCallbacks
|
||||
#else
|
||||
#define A3DORNOTDrawGetBoundingBox DrawGetBoundingBox
|
||||
#define A3DORNOTDraw Draw
|
||||
#define A3DORNOTDrawInitCallbacks DrawInitCallbacks
|
||||
#endif
|
||||
|
||||
//######################################################################################################################
|
||||
A3DStatus OpenGL_SetAndInitCallBack(A3DDrawCallbacksData &sDrawCallbacksData);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_PushMatrix();
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_PopMatrix();
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_MultMatrix(const A3DDouble adMatrix[16]);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_GetMatrix(A3DDouble adMatrix[16]);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_SetIgnoreViewMatrix(A3DDouble adIgnoreViewMatrix[16]);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Begin(A3DEDrawBeginEndType eType, const A3DUTF8Char* pcName, A3DUns32 uiTrianglesCount);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_End(A3DEDrawBeginEndType eType);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Triangle(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleFan(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleStripe(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleOneNormal(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleFanOneNormal(const A3DVector3dData* psNormal, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleStripeOneNormal(const A3DVector3dData* psNormal, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleTextured(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleFanTextured(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleStripeTextured(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleOneNormalTextured(const A3DVector3dData* pasNormals, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleFanOneNormalTextured(const A3DVector3dData* psNormal, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_TriangleStripeOneNormalTextured(const A3DVector3dData* psNormal, const A3DVector3dData* pasPoints,
|
||||
A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Material(A3DEDrawMaterialType eType, const A3DDouble* pdValues, A3DUns32 uiSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_BeginMaterial(void);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_EndMaterial(void);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_GetDrawContext(A3DDouble adProjection[16], A3DDouble adModelView[16], A3DInt32 aiViewport[4]);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_MarkupTriangle(const A3DDouble* pdPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_UnProject(const A3DVector3dData* psPoint, A3DVector3dData* psResult);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_BeginFrameDraw(const A3DVector3dData* psPoint3d, A3DBool bIsZoomable, A3DDouble dFixedSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_EndFrameDraw(void);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_BeginFixedSize(const A3DVector3dData* psPoint3d);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_EndFixedSize(void);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Cylinder(A3DDouble dBaseRadius, A3DDouble dTopRadius, A3DDouble dHeight);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Polygon(const A3DDouble* pdPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_BeginLineWidth(A3DDouble dWidth);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_EndLineWidth(void);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Point(const A3DDouble* pdPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Font(const A3DFontKeyData* psFontKeyData);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_BeginLineStipple(const A3DGraphStyleData* psGraphStyleData);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_EndLineStipple(void);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Symbol(const A3DGraphVPicturePatternData* psPatternData, const A3DVector3dData* psPosition);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_PolyLine(const A3DDouble* pdPoints, A3DUns32 uiPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Text(const A3DUTF8Char* pcBuffer, A3DDouble dWidth, A3DDouble dHeight);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Pattern(A3DUns32 uiLoopsSize, A3DUns32 uiPatternId, A3DUns32 uiFilledMode, A3DUns32 uiBehavior,
|
||||
const A3DDouble* pdPoints, const A3DUns32* puiLoopsPointSize);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Picture(const A3DGraphPictureData* psPictureData);
|
||||
|
||||
//######################################################################################################################
|
||||
void OpenGL_Color(const A3DDouble* pdValues, A3DUns32 uiSize);
|
||||
|
||||
//######################################################################################################################
|
||||
int& DisplayTriangles();
|
||||
|
||||
//######################################################################################################################
|
||||
int& DisplayTriangleNormals();
|
||||
|
||||
//######################################################################################################################
|
||||
double& DisplayTriangleNormalLength();
|
||||
|
||||
#endif // _CALLBACK_OPENGL_H_
|
||||
Reference in New Issue
Block a user