CFx SDK Documentation  2023 SP0
GiModelToViewProc.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, 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 Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 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 
33 class OdGeMatrix3d;
34 class OdGiDeviation;
35 class OdGiXform;
37 
43 {
44 protected:
46 public:
48 
49  virtual void setDrawContext( OdGiConveyorContext* pDrawCtx ) = 0;
50 
51  virtual OdGiConveyorInput& modelInput() = 0;
52  virtual OdGiConveyorInput& eyeInput() = 0;
53 
54  virtual OdGiConveyorOutput& output() = 0;
55 
56  virtual void setEyeToOutputTransform(const OdGeMatrix3d& xMat) = 0;
57  virtual const OdGeMatrix3d& eyeToOutputTransform() const = 0;
58 
59  virtual void setView(
60  const OdGePoint3d& target,
61  const OdGeVector3d& xVector,
62  const OdGeVector3d& upVector,
63  const OdGeVector3d& eyeVector) = 0;
64  virtual void setWorldToEyeTransform(const OdGeMatrix3d& xMat) = 0;
65 
66  virtual const OdGeMatrix3d& worldToEyeTransform() const = 0;
67  virtual const OdGeMatrix3d& eyeToWorldTransform() const = 0;
68 
69  virtual const OdGeMatrix3d& modelToEyeTransform() const = 0;
70  virtual const OdGeMatrix3d& eyeToModelTransform() const = 0;
71 
72  virtual void pushModelTransform(const OdGeMatrix3d& xMat) = 0;
73  virtual void popModelTransform() = 0;
74  virtual const OdGeMatrix3d& modelToWorldTransform() const = 0;
75  virtual const OdGeMatrix3d& worldToModelTransform() const = 0;
76 
77  virtual OdGiXform *getModelToEyeXform() = 0;
78  virtual const OdGiXform *getModelToEyeXform() const = 0;
79  virtual OdGiXform *getEyeToModelXform() = 0;
80  virtual const OdGiXform *getEyeToModelXform() const = 0;
81 
82  virtual void pushClipBoundary(OdGiClipBoundary* pBoundary) = 0;
83  virtual void pushClipBoundary(OdGiClipBoundary* pBoundary, OdGiAbstractClipBoundary* pClipInfo) = 0;
84  virtual void popClipBoundary() = 0;
85 
86  virtual bool isClipping() const = 0;
87  virtual bool isEmptyClipSet() const = 0;
88 
89  virtual void setWorldDeviation(const OdGiDeviation& worldDev) = 0;
90  virtual void setWorldDeviation(const OdGeDoubleArray& deviations) = 0;
91 
92  virtual const OdGiDeviation& worldDeviation() const = 0;
93  virtual const OdGiDeviation& modelDeviation() const = 0;
94  virtual const OdGiDeviation& eyeDeviation() const = 0;
95 
97  {
100  kClipInOutputSpace
101  };
102  virtual void setClippingSpace(ClippingCS newClipCS) = 0;
103  virtual ClippingCS currentClippingSpace() const = 0;
104 
105  virtual void enableAnalyticCurvesClipping(bool bEnable = true) = 0;
106  virtual bool isAnalyticCurvesClippingEnabled() const = 0;
107 
108  virtual void enableClippingDebugLog(const OdString &fileName) = 0;
109  virtual void disableClippingDebugLog() = 0;
110  virtual bool isClippingDebugLogEnabled() const = 0;
111 
112  virtual void switchSectioning(bool bEnable) = 0;
113  virtual bool isSectioningEnabled() const = 0;
114 };
115 
123 
124 
133 {
134 protected:
136 public:
138 
139  virtual void setDrawContext( OdGiConveyorContext* pDrawCtx ) = 0;
140  virtual void set(const OdGiClipBoundary* bnd) = 0;
141  virtual void setModelToWorld(const OdGeMatrix3d& modelToWorld) = 0;
142  virtual bool enabled() const = 0;
143  virtual void setEnabled(bool bOn) = 0;
144 };
145 
154 //FELIX_CHANGE_BEGIN
158 //FELIX_CHANGE_END
159 #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 OdGeMatrix3d & worldToModelTransform() const =0
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
virtual void pushClipBoundary(OdGiClipBoundary *pBoundary)=0
virtual void pushModelTransform(const OdGeMatrix3d &xMat)=0
virtual const OdGiXform * getModelToEyeXform() const =0
virtual OdGiXform * getEyeToModelXform()=0
virtual const OdGiDeviation & modelDeviation() const =0
virtual const OdGeMatrix3d & worldToEyeTransform() const =0
virtual OdGiXform * getModelToEyeXform()=0
virtual ClippingCS currentClippingSpace() const =0
virtual const OdGiDeviation & worldDeviation() const =0
virtual void enableAnalyticCurvesClipping(bool bEnable=true)=0
virtual void setWorldToEyeTransform(const OdGeMatrix3d &xMat)=0
virtual OdGiConveyorInput & modelInput()=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 void enableClippingDebugLog(const OdString &fileName)=0
virtual bool isClipping() const =0
virtual void popModelTransform()=0
virtual void setView(const OdGePoint3d &target, const OdGeVector3d &xVector, const OdGeVector3d &upVector, const OdGeVector3d &eyeVector)=0
virtual OdGiConveyorInput & eyeInput()=0
virtual const OdGiXform * getEyeToModelXform() const =0
virtual const OdGeMatrix3d & eyeToModelTransform() const =0
virtual OdGiConveyorOutput & output()=0
ODRX_DECLARE_MEMBERS(OdGiModelToViewProc)
virtual void disableClippingDebugLog()=0
virtual void setWorldDeviation(const OdGiDeviation &worldDev)=0
virtual const OdGeMatrix3d & modelToWorldTransform() const =0
virtual void switchSectioning(bool bEnable)=0
virtual bool isEmptyClipSet() const =0
virtual const OdGeMatrix3d & eyeToWorldTransform() const =0
virtual const OdGeMatrix3d & eyeToOutputTransform() const =0
virtual const OdGiDeviation & eyeDeviation() const =0
virtual void pushClipBoundary(OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo)=0
virtual const OdGeMatrix3d & modelToEyeTransform() const =0
virtual void setEyeToOutputTransform(const OdGeMatrix3d &xMat)=0
virtual bool isSectioningEnabled() const =0