CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GiModelToViewProc.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24#ifndef __ODGIMODELTOVIEWPROC_H__
25#define __ODGIMODELTOVIEWPROC_H__
26
27#include "Gi/GiConveyorNode.h"
28#include "Ge/GeDoubleArray.h"
29//FELIX_CHANGE_BEGIN
30#include "Gi/GiXform.h"
31//FELIX_CHANGE_END
32
33class OdGeMatrix3d;
34class OdGiDeviation;
35class OdGiXform;
37
43{
44protected:
46public:
48
54 virtual void setDrawContext( OdGiConveyorContext* pDrawCtx ) = 0;
55
58
59 virtual OdGiConveyorOutput& output() = 0;
60
61 virtual void setEyeToOutputTransform(const OdGeMatrix3d& xMat) = 0;
62 virtual const OdGeMatrix3d& eyeToOutputTransform() const = 0;
63
72 virtual void setView(
73 const OdGePoint3d& target,
74 const OdGeVector3d& xVector,
75 const OdGeVector3d& upVector,
76 const OdGeVector3d& eyeVector) = 0;
77
83 virtual void setWorldToEyeTransform(const OdGeMatrix3d& xMat) = 0;
84
91 virtual const OdGeMatrix3d& worldToEyeTransform() const = 0;
92
99 virtual const OdGeMatrix3d& eyeToWorldTransform() const = 0;
100
107 virtual const OdGeMatrix3d& modelToEyeTransform() const = 0;
108
115 virtual const OdGeMatrix3d& eyeToModelTransform() const = 0;
116
125 virtual void pushModelTransform(const OdGeMatrix3d& xMat) = 0;
126
130 virtual void popModelTransform() = 0;
131
138 virtual bool isEmptyModelMatrixStack() const = 0;
139
146 virtual const OdGeMatrix3d& modelToWorldTransform() const = 0;
147
154 virtual const OdGeMatrix3d& worldToModelTransform() const = 0;
155
157 virtual const OdGiXform *getModelToEyeXform() const = 0;
159 virtual const OdGiXform *getEyeToModelXform() const = 0;
160
170 virtual void pushClipBoundary(OdGiClipBoundary* pBoundary) = 0;
171
182 virtual void pushClipBoundary(OdGiClipBoundary* pBoundary, OdGiAbstractClipBoundary* pClipInfo) = 0;
183
189 virtual void popClipBoundary() = 0;
190
197 virtual bool isClipping() const = 0;
198
205 virtual bool isEmptyClipSet() const = 0;
206
210 virtual void initGeometryClipStatus() = 0;
211
220 virtual int getGeometryClipStatus(bool bSectioning = false, bool bClear = false) = 0;
221
227 virtual void setWorldDeviation(const OdGiDeviation& worldDev) = 0;
228
234 virtual void setWorldDeviation(const OdGeDoubleArray& deviations) = 0;
235
236
243 virtual const OdGiDeviation& worldDeviation() const = 0;
244
251 virtual const OdGiDeviation& modelDeviation() const = 0;
252
259 virtual const OdGiDeviation& eyeDeviation() const = 0;
260
261 /*
262 Clipping coordinate system.
263 **/
265 {
266 /* Clip in eye coordinate system.**/
268 /* Clip in world coordinate system.**/
270 /* Clip in output coordinate system.**/
271 kClipInOutputSpace
272 };
273
279 virtual void setClippingSpace(ClippingCS newClipCS) = 0;
280
287 virtual ClippingCS currentClippingSpace() const = 0;
288
294 virtual void enableAnalyticCurvesClipping(bool bEnable = true) = 0;
295
302 virtual bool isAnalyticCurvesClippingEnabled() const = 0;
303
309 virtual void enableClippingDebugLog(const OdString &fileName) = 0;
310
314 virtual void disableClippingDebugLog() = 0;
315
322 virtual bool isClippingDebugLogEnabled() const = 0;
323
329 virtual void switchSectioning(bool bEnable) = 0;
330
337 virtual bool isSectioningEnabled() const = 0;
338};
339
347
348
357{
358protected:
360public:
362
368 virtual void setDrawContext( OdGiConveyorContext* pDrawCtx ) = 0;
369
375 virtual void set(const OdGiClipBoundary* bnd) = 0;
376
382 virtual void setModelToWorld(const OdGeMatrix3d& modelToWorld) = 0;
383
390 virtual bool enabled() const = 0;
391
397 virtual void setEnabled(bool bOn) = 0;
398};
399
405//FELIX_CHANGE_BEGIN
409//FELIX_CHANGE_END
410#endif //#ifndef __ODGIMODELTOVIEWPROC_H__
#define ODGI_EXPORT
Definition: GiExport.h:35
ODGI_EXPORT OdGiXformPtr odgiGetModelToEyeXform(OdGiModelToViewProc *pThis)
ODGI_EXPORT bool odgiIsClipped(OdGiModelToViewProc *pThis)
OdSmartPtr< OdGiModelSection > OdGiModelSectionPtr
OdSmartPtr< OdGiModelToViewProc > OdGiModelToViewProcPtr
ODGI_EXPORT OdGiXformPtr odgiGetEyeToModelXform(OdGiModelToViewProc *pThis)
#define ODRX_ABSTRACT
virtual void setModelToWorld(const OdGeMatrix3d &modelToWorld)=0
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
ODRX_DECLARE_MEMBERS(OdGiModelSection)
virtual void setEnabled(bool bOn)=0
virtual bool enabled() const =0
virtual void set(const OdGiClipBoundary *bnd)=0
virtual const OdGiDeviation & eyeDeviation() const =0
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
virtual void pushClipBoundary(OdGiClipBoundary *pBoundary)=0
virtual void pushModelTransform(const OdGeMatrix3d &xMat)=0
virtual const OdGiXform * getEyeToModelXform() const =0
virtual const OdGeMatrix3d & eyeToWorldTransform() const =0
virtual OdGiConveyorOutput & output()=0
virtual const OdGeMatrix3d & worldToModelTransform() const =0
virtual ClippingCS currentClippingSpace() const =0
virtual const OdGeMatrix3d & modelToEyeTransform() const =0
virtual const OdGeMatrix3d & modelToWorldTransform() const =0
virtual const OdGeMatrix3d & eyeToModelTransform() const =0
virtual void enableAnalyticCurvesClipping(bool bEnable=true)=0
virtual void setWorldToEyeTransform(const OdGeMatrix3d &xMat)=0
virtual void setWorldDeviation(const OdGeDoubleArray &deviations)=0
virtual void popClipBoundary()=0
virtual void setClippingSpace(ClippingCS newClipCS)=0
virtual bool isAnalyticCurvesClippingEnabled() const =0
virtual bool isClippingDebugLogEnabled() const =0
virtual const OdGeMatrix3d & eyeToOutputTransform() const =0
virtual void enableClippingDebugLog(const OdString &fileName)=0
virtual bool isClipping() const =0
virtual void popModelTransform()=0
virtual const OdGiXform * getModelToEyeXform() const =0
virtual OdGiConveyorInput & modelInput()=0
virtual OdGiXform * getModelToEyeXform()=0
virtual void setView(const OdGePoint3d &target, const OdGeVector3d &xVector, const OdGeVector3d &upVector, const OdGeVector3d &eyeVector)=0
virtual const OdGeMatrix3d & worldToEyeTransform() const =0
virtual const OdGiDeviation & modelDeviation() const =0
virtual const OdGiDeviation & worldDeviation() const =0
virtual bool isEmptyModelMatrixStack() const =0
ODRX_DECLARE_MEMBERS(OdGiModelToViewProc)
virtual void disableClippingDebugLog()=0
virtual void setWorldDeviation(const OdGiDeviation &worldDev)=0
virtual void switchSectioning(bool bEnable)=0
virtual bool isEmptyClipSet() const =0
virtual int getGeometryClipStatus(bool bSectioning=false, bool bClear=false)=0
virtual OdGiConveyorInput & eyeInput()=0
virtual void pushClipBoundary(OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo)=0
virtual OdGiXform * getEyeToModelXform()=0
virtual void setEyeToOutputTransform(const OdGeMatrix3d &xMat)=0
virtual void initGeometryClipStatus()=0
virtual bool isSectioningEnabled() const =0