Rhino C++ API  7.19
Public Member Functions | Protected Member Functions | Friends | List of all members
CRhinoDisplayEngine_GDI Class Reference

#include <RhinoSdkDisplayEngine_GDI.h>

Inheritance diagram for CRhinoDisplayEngine_GDI:
CRhinoDisplayEngine ON_Object

Public Member Functions

 CRhinoDisplayEngine_GDI ()
 
 CRhinoDisplayEngine_GDI (class CRhVectorEngine *)
 
virtual ~CRhinoDisplayEngine_GDI ()
 
void ClearFrameBuffer (const CRhinoDib *) override
 
void ClearFrameBuffer (const ON_Color &, const ON_Color &, const ON_Color &, const ON_Color &) override
 
bool CopyBackBufferFrom (const CRhinoDib &) override
 
bool CopyBackBufferTo (CRhinoDib &) override
 
bool CopyBackBufferTo (HDC hDC) override
 
void Draw2dLines (const ON_2fPoint *points, int count, bool asPolyline, ON_Color strokeColor, float strokeWidth, RhinoDashStyle style, bool xormode) override
 
void DrawBezier (int dim, BOOL bIsRational, int order, int cv_stride, const double *cv4d, const CRhCurveAttributes &attrs) override
 
void DrawBitmap (const CRhinoDib &, int nX, int nY) override
 
void DrawCurve (const ON_Curve &curve, const class CRhinoDisplayPen &pen, CRhinoCacheHandle *cacheHandle) override
 
void DrawDot (const ON_TextDot &dot, bool locationInWorld, ON_Color fillColor, ON_Color textColor, ON_Color borderColor, class CRhinoCacheHandle *cache) override
 
void DrawHatch (const ON_Hatch &hatch, const class CRhinoDisplayBrush *fillBrush, const class CRhinoDisplayPen *boundaryPen, CRhinoCacheHandle *cacheHandle) override
 Do not call - placeholder virtual function in order to improve hatch display without breaking SDK. More...
 
void DrawHatch (const ON_Hatch &hatch, const ON_HatchPattern *pattern, float strokeWidth, ON_Color hatchColor, ON_Color boundaryColor, CRhinoCacheHandle *cacheHandle) override
 
void DrawMeshes (const ON_Mesh **pMeshes, int count, bool wires, bool shaded, const CDisplayPipelineAttributes *, CRhinoCacheHandle *cacheHandle) override
 
void DrawPoints (int count, const class CRhPointData *points, CRhinoCacheHandle *cache) override
 
void DrawPolygon (const ON_3dPoint *points, int count, ON_Color color, bool bFilled) override
 
void DrawPolylines (const CRhinoClippingVertexCollection *lists, int count) override
 
void DrawRoundedRectangle (ON_2fPoint screenCenter, float pixelWidth, float pixelHeight, float cornerRadius, ON_Color strokeColor, float strokeWidth, ON_Color fillColor) override
 
void DrawString (const ON_TextContent &text, const ON_Xform &textXform, ON_Color color, CRhinoCacheHandle *cache) override
 
void DrawString (const wchar_t *text, const ON_Color &textColor, const ON_2dPoint &point, bool middle, float fontHeightPixels, const ON_Font *font) override
 
void DrawString (const wchar_t *text, const ON_Xform &xf, const ON_Font *font, const ON_Color &color, ON::TextHorizontalAlignment horizontalAlignment, ON::TextVerticalAlignment verticalAlignment, CRhinoCacheHandle *cache) override
 
bool DrawTexturedPlane (const CRhinoDib &image, const ON_2dPoint &screenLowerLeft, const ON_2dPoint &screenLowerRight, const ON_2dPoint &screenUpperRight, const ON_2dPoint &screenUpperLeft) const
 
bool DrawTexturedPlane (const CRhinoDib &image, const ON_Plane &plane, ON_Interval domain_horz, ON_Interval domain_vert) const
 
void DrawTraceImage (const class CRhTraceImage &traceimage) override
 
void DrawWallpaper (const class CRhWallpaper &wallpaper) override
 
bool GetBackBuffer (CRhinoDib &) override
 Engine buffers support... More...
 
int MaxClipPlanesSupported () const override
 
bool ResetEngine () override
 
bool RestoreBackBuffer () override
 
void RestoreGraphicsState ()
 Mac only; does nothing on MS Windows. More...
 
bool SaveBackBuffer () override
 
void SaveGraphicsState ()
 Mac only; does nothing on MS Windows. More...
 
const ON_4iRect SetClipRect (const ON_4iRect &clipRect)
 Used in printing code to set up clip regions. More...
 
void ShutdownEngine () override
 
bool StartEngine () override
 Engine initialization and cleanup opertaions... More...
 
bool VectorEngineAttached () const
 
- Public Member Functions inherited from CRhinoDisplayEngine
 CRhinoDisplayEngine ()
 
virtual ~CRhinoDisplayEngine ()
 
virtual int ActiveStereoProjection () const
 
virtual void AddLight (const ON_Light &light)
 
const ON_XformCameraToClip () const
 
const ON_XformCameraToClipInverse () const
 
virtual bool CanSaveDepthBuffer ()
 
virtual bool CaptureFrame (const ON_Viewport &viewport)
 
virtual void ClearClipPlanes ()
 
virtual void ClearDepthBuffer ()
 
void ClearFrameBuffer (const ON_Color &color)
 
void ClearFrameBuffer (const ON_Color &colorTop, const ON_Color &colorBottom)
 
virtual void ClearLights ()
 
virtual void ClearTextureCache ()
 
const ON_SimpleArray< ON_ClippingPlaneInfo > & ClippingPlanes () const
 
ON_2dPoint ClippingToScreenPoint (const ON_4dPoint &point) const
 
int ClipPlaneCount () const
 
virtual bool CopyBackBufferFrom (HDC pDC)
 
virtual bool CopyDepthBufferTo (CRhinoDib &dib, bool bConvertToImage=false, bool bInvertDepthValues=false, CRhinoDib *pBackground=nullptr)
 
virtual bool CopyDepthToBackBuffer ()
 
virtual int CreateClipRegion (const ON_Curve &boundary)
 
ECullFaceMode CullFaceMode () const
 
virtual int DepthBufferBitDepth ()
 
virtual void DestroyClipRegion (int region_id)
 
void DisableCoplanarClippingPlanes (const CRhinoObject *pRhinoObject, ON_SimpleArray< int > &planes_disabled)
 
void DisableCoplanarClippingPlanes (const ON_Plane &plane, ON_SimpleArray< int > &planes_disabled)
 
const CDisplayPipelineAttributesDisplayAttrs () const
 
float DpiScale () const
 
virtual void DrawBrepWires (const ON_Brep *brep, const class CDisplayPipelineAttributes *da, int wireDensity, bool edgeAnalysis, CRhinoCacheHandle *cacheHandle)
 
virtual bool DrawCapturedFrame (const ON_Viewport &destination)
 
virtual void DrawConstructionPlane (const ON_3dmConstructionPlane &plane, bool bShowGrid, bool bShowGridAxes, bool bShowZAxis, const ON_Color &grid_thin_color, const ON_Color &grid_thick_color, const ON_Color &grid_xaxis_color, const ON_Color &grid_yaxis_color, const ON_Color &grid_zaxis_color, int grid_thick_line_size, int grid_axis_line_size, int axes_percentage=100, bool bForceBackground=false)
 
virtual void DrawEnvironment ()
 
virtual void DrawExtrusionWires (const ON_Extrusion &extrusion, const class CDisplayPipelineAttributes *da, int wireDensity, bool edgeAnalysis, CRhinoCacheHandle *cacheHandle)
 
virtual void DrawGroundPlane (const class CDisplayPipelineAttributes &dpa, const class CRhGLGroundPlane &groundplane)
 
virtual void DrawLine (const ON_3dPoint &from, const ON_3dPoint &to, const ON_Color &color, int thickness, UINT pattern=0xFFFFFFFF)
 
void DrawLineNoClip (const ON_3dPoint &from, const ON_3dPoint &to, const ON_Color &color, float thickness)
 
virtual void DrawLines (const class CLinesDescriptor &ld)
 
virtual bool DrawLines (ON_Color color, int line_count, float thickness, const float *vertices, const ON_Xform *model_xform)
 
void DrawMesh (const ON_Mesh &mesh, bool wires, bool shaded, const class CDisplayPipelineAttributes *da, CRhinoCacheHandle *cacheHandle)
 
virtual void DrawMeshes (const ON_Mesh **meshes, int count, bool wires, bool shaded, const class CDisplayPipelineAttributes *da, CRhinoCacheHandle *cacheHandle)
 
void DrawMeshFace (const ON_Mesh &mesh, int faceIndex, const class CDisplayPipelineAttributes *da, CRhinoCacheHandle *cacheHandle)
 
virtual void DrawMeshFaces (const ON_Mesh &mesh, const int *faces, int faceCount, const class CDisplayPipelineAttributes *da, CRhinoCacheHandle *cacheHandle)
 
void DrawMeshFaces (const ON_Mesh &mesh, const ON_SimpleArray< int > &faces, const class CDisplayPipelineAttributes *da, CRhinoCacheHandle *cacheHandle)
 
virtual void DrawPointCloud (const ON_PointCloud &cloud, ERhinoPointStyle style, float pixelSize, bool scaleSizeForDpi, ON_Color colorOverride, int indexCount, const unsigned int *indices, CRhinoCacheHandle *cache, int degradeCount)
 
virtual void DrawPoints (int count, const ON_2dPoint *screenPoints, ERhinoPointStyle style, const ON_Color &strokeColor, const ON_Color &fillColor, float diameterPixels, float strokeWidthPixels, float innerDiameterPixels, float rotationRadians, bool autoScaleDpi, CRhinoCacheHandle *cache)
 
virtual void DrawPoints (int count, const ON_3dPoint *points, ERhinoPointStyle style, const ON_Color &strokeColor, const ON_Color &fillColor, float diameter, float strokeWidth, float innerDiameter, float rotationRadians, bool diameterInPixels, bool autoScaleDpi, CRhinoCacheHandle *cache)
 
virtual void DrawPolylines (const class CLinesDescriptor &ld)
 
virtual void DrawPolylines (const class CRhinoClippingVertexCollection *lists, int count)=0
 
virtual void DrawShadedBrep (const ON_Brep *brep, const class CDisplayPipelineAttributes *da, CRhinoCacheHandle *cacheHandle)
 
virtual void DrawSubD (const class CRhinoSubDDisplay &subd_display, const class CRhinoSubDDisplayAttributes &subd_display_attributes)
 
virtual void DrawSubD (const class ON_SubD &subd, const class CRhSubDDisplayAttributes *attrs, CRhinoCacheHandle *cacheHandle)
 Do not call - placeholder virtual function in order to improve SubD display without breaking SDK. More...
 
virtual void DrawSubDComponents (const class ON_SubD &subd, const class ON_SubDComponentPtr *components, size_t componentCount, const class CRhSubDDisplayAttributes *attrs, CRhinoCacheHandle *cacheHandle)
 Do not call - placeholder virtual function in order to improve SubD display without breaking SDK. More...
 
virtual void DrawTextRun (const ON_TextRun &run, const ON_Font *font, const ON_Xform &xform, ON_Color color, CRhinoCacheHandle *cache)
 
virtual void DrawWorldAxes (const ON_Color &xaxis_color, const ON_Color &yaxis_color, const ON_Color &zaxis_color, int axes_length, int label_offset, int letter_size)
 
virtual bool EnableClipPlanes (bool bEnable, int plane=-1)
 
virtual void EnableColorWriting (bool bEnable=true)
 
virtual void EnableDepthTesting (bool bEnable=true)
 
virtual void EnableDepthWriting (bool bEnable=true)
 
void EnableMaterials (bool on)
 
virtual void EnableMeshBuffering (bool on)
 "State" operations & attributes... More...
 
virtual void EnableMultiSample (bool bEnable=true)
 Enables / disables multisampling. More...
 
virtual void FlushAll ()
 
virtual int FrameBufferBitDepth ()
 
virtual void FrameBufferChannelDepth (int &red_bits, int &green_bits, int &blue_bits, int &alpha_bits)
 
ON_3dPoint FrustumCenter () const
 
const CRhinoDocGeometrySource () const
 Return the document that the pipeline uses to get geometry information from when drawing. More...
 
virtual const class CRhFrameCapture * GetCapturedFrame () const
 
void GetCurveAttributes (CRhCurveAttributes &attributes) const
 
virtual bool GetDepthBuffer (float *buffer, int left, int top, int width, int height)
 
ON_SimpleArray< ON_PlaneEquationGetEnabledClipPlanes (const ON_Xform *xf) const
 
void GetFarPlane (ON_Plane &) const
 
virtual const ON_LightGetLight (int index) const
 
ON_Xform GetModelViewMatrix () const
 
virtual int GetMultiSampleMode () const
 
virtual void GetMultiSampleModes (ON_SimpleArray< int > &modes) const
 
void GetNearFarPlane (ON_Plane &N, ON_Plane &F) const
 
void GetNearPlane (ON_Plane &) const
 
virtual bool GetOffscreenBufferInfo (HDC hDC, int &nColorDepth, int &nZDepth)
 
virtual class CRhGLSceneManager * GetSceneManager ()
 
class CRhGLSceneManager * GetSceneManager (const CRhinoDoc *doc)
 
virtual class CRhGLSceneManager * GetSceneManager (unsigned int docSerialNumber)
 
virtual double GetStereoParallax () const
 
virtual double GetStereoSeparation () const
 
virtual bool HasDepthBuffer ()
 
const ON_XformInstanceDefinitionTransform () const
 
virtual bool InStereoMode () const
 
virtual void InvalidateCapturedFrame ()
 Caching operations... More...
 
virtual bool IsAccelerated () const
 
bool IsEntireBoxVisible (const ON_BoundingBox &bbox) const
 
virtual int LightCount () const
 
virtual int MaxDecalsSupported () const
 
virtual int MaxLightsSupported () const
 
virtual int MaxObjectMappingsSupported () const
 
virtual bool MeshBufferingEnabled () const
 
const ON_XformModelTransform () const
 Model transform operations... More...
 
bool ModelTransformIsIdentity () const
 
virtual void NotifyClippingPlanesChanged ()
 
virtual bool NotifyProjectionChanged ()
 Notifier routines called by the pipeline framework... More...
 
virtual bool PopColorWriting ()
 
virtual void PopDepthTesting ()
 
virtual void PopDepthWriting ()
 
void PopModelTransform ()
 
void PopModelViewMatrix ()
 
void PopProjection ()
 
virtual void PushColorWriting (bool bEnable)
 
virtual void PushDepthTesting (bool bEnable)
 
virtual void PushDepthWriting (bool bEnable)
 
void PushModelTransform (const ON_Xform &mt)
 
void PushModelViewMatrix ()
 
void PushModelViewMatrix (const ON_Xform &xf)
 
void PushProjection (const ON_Viewport &viewport)
 
virtual bool RestoreDepthBuffer ()
 
virtual bool SaveDepthBuffer ()
 
double ScreenLength (double world_length) const
 
const ON_XformScreenToClip () const
 
const ON_XformScreenToClipInverse () const
 
void SetCamera (const ON_Viewport &)
 
virtual int SetClippingPlanes (const ON_SimpleArray< ON_ClippingPlaneInfo > &clipplanes)
 
virtual int SetClipRegion (int region_id)
 
virtual ECullFaceMode SetCullFaceMode (ECullFaceMode mode)
 
void SetCurveAttributes (const CRhCurveAttributes &attributes)
 
virtual int SetDepthMode (int nDepth)
 
void SetDpiScale (float scale)
 
void SetInstanceDefinitionTransform (const ON_Xform &idt)
 
void SetModelTransform (const ON_Xform &mt)
 
void SetModelViewMatrix (const ON_Xform &xf)
 
virtual bool SetMultiSampleMode (int mode)
 
virtual bool SetStereoMode (bool bStereo)
 
virtual void SetStereoParallax (float)
 
virtual void SetStereoSeparation (float fSep)
 
virtual int SetZBiasLevel (int zbias)
 
virtual bool ShowBackBuffer (HDC hDC)
 
virtual bool StopEngine ()
 
virtual bool SupportsMultiSampling () const
 
virtual bool SupportsShading () const
 
bool UseClipPlanes () const
 
bool UseMaterials ()
 
const ON_ViewportVP () const
 Generic engine attributes... More...
 
float WireDpiScale () const
 
const ON_XformWorldToCamera (bool includeModelXform=true) const
 
const ON_XformWorldToCameraInverse (bool includeModelXform=true) const
 
const ON_XformWorldToClip (bool includeModelXform=true) const
 world to screen transform = Viewport(world to clip)*m_ModelTransform More...
 
const ON_XformWorldToClipInverse (bool includeModelXform=true) const
 
ON_4dPoint WorldToClippingPoint (const ON_3dPoint &point) const
 
const ON_XformWorldToScreen (bool includeModelXform=true) const
 world to screen transform = Viewport(world to screen)*m_ModelTransform More...
 
const ON_XformWorldToScreenInverse (bool includeModelXform=true) const
 
ON_2dPoint WorldToScreenPoint (const ON_3dPoint &point) const
 
virtual int ZBiasLevel () const
 
- Public Member Functions inherited from ON_Object
 ON_Object () ON_NOEXCEPT
 
 ON_Object (const ON_Object &)
 
virtual ~ON_Object ()
 
virtual ON_AggregateComponentStatus AggregateComponentStatus () const
 
bool AttachUserData (class ON_UserData *pUserData)
 
unsigned int ClearAllComponentStates () const
 
virtual unsigned int ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const
 
virtual unsigned int ClearComponentStates (ON_ComponentStatus states_to_clear) const
 
void CopyUserData (const ON_Object &source_object)
 
unsigned int CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution)
 
virtual ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
virtual bool DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)
 
virtual void DestroyRuntimeCache (bool bDelete=true)
 
bool DetachUserData (class ON_UserData *pUserData)
 
virtual void Dump (ON_TextLog &) const
 
void EmergencyDestroy ()
 
class ON_UserDataFirstUserData () const
 
virtual unsigned int GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const
 
class ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
 
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
 
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
 
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
 
bool IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const
 
bool IsKindOf (const ON_ClassId *pClassId) const
 
virtual bool IsValid (class ON_TextLog *text_log=nullptr) const
 
virtual void MarkAggregateComponentStatusAsNotCurrent () const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
unsigned int MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems)
 
virtual ON::object_type ObjectType () const
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
virtual bool Read (ON_BinaryArchive &binary_archive)
 
virtual unsigned int SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const
 
virtual unsigned int SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
 
virtual unsigned int SizeOf () const
 
bool ThisIsNullptr (bool bSilentError) const
 
void TransformUserData (const class ON_Xform &xform)
 
virtual bool UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map)
 
int UserStringCount () const
 
virtual bool Write (ON_BinaryArchive &binary_archive) const
 

Protected Member Functions

bool NotifyFrameSizeChanged (int width, int height) override
 
- Protected Member Functions inherited from CRhinoDisplayEngine
void ComputeZBiasValues (int bias, double &a, double &b, double &c, double &d, bool &use_d) const
 
void DrawBezier (int, const ON_4fPoint *, const CRhCurveAttributes &, int=1, int=0)
 
void DrawConstructionPlaneFarLines (ON_SimpleArray< ON_Line > &far_lines)
 
void DrawConstructionPlaneLine (const ON_Plane &near_plane, const ON_3dPoint &p, const ON_3dPoint &q, ON_SimpleArray< ON_Line > &far_lines)
 
virtual void FlushCurveBuffer ()
 
virtual void FlushMeshBuffer ()
 
virtual void FlushPointBuffer ()
 
HDC GetRenderTargetDC () const
 
void iShutdownEngine ()
 
void Line (const ON_4fPoint &start, const ON_4fPoint &end)
 
void LineTo (const ON_4fPoint &)
 clipping coordinate point More...
 
void MoveTo (const ON_4fPoint &)
 clipping coordinate point More...
 
void MoveToLineTo (const ON_4fPoint &start, const ON_4fPoint &end)
 
virtual void SetRenderTarget (HDC pDC, bool bShutDown)
 
virtual void SetRenderTarget (HWND hWnd)
 
void SetScreenDrawTolerance (double, double, double)
 
double ZBiasDistance (double z, double w) const
 

Friends

class CRhinoDisplayPipeline_GDI
 

Additional Inherited Members

- Public Types inherited from ON_Object
enum  UserDataConflictResolution : unsigned char {
  UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3,
  UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6
}
 
- Protected Attributes inherited from CRhinoDisplayEngine
double m__zbias_a = 0
 (near+far) More...
 
double m__zbias_b = 0
 (far-near) More...
 
double m__zbias_c = 0
 m__zbias_d*‍/(4*near*far) More...
 
double m__zbias_d = 0
 parallel proj bias or 0 for no zbias More...
 
bool m__zbias_use_d = true
 true to return constance bias More...
 
bool m_bInfiniteDepth = false
 
bool m_bInStereoMode = false
 Stereo viewing opertaions... More...
 
bool m_bUseMaterials = true
 
ON_Viewport m_Camera
 
ON_ClassArray< ON_Viewportm_CameraStack
 
float m_cliptol_x = 0.01f
 
float m_cliptol_y = 0.01f
 
float m_cliptol_z = 0.01f
 tolerance in clipping coordinates More...
 
CRhCurveAttributes m_curve_attrs
 
ON_SimpleArray< bool > m_depth_testing_stack
 
ON_SimpleArray< bool > m_depth_writing_stack
 
CRhinoDisplayPipelinem_dp = nullptr
 
float m_dpi_scale = 1.0f
 scaling for high resolution displays More...
 
int m_draw_speed = 0
 0 = accurate, 1 = fast, 2 = really More...
 
float m_fStereoParallax = 1.0f
 
float m_fStereoSeparation = 1.0f
 
HDC m_hDC = nullptr
 Device Context handle render target. More...
 
HWND m_hWnd = nullptr
 Engine display and drawing attributes... More...
 
ON_SimpleArray< ON_Xformm_modelview_matrix_stack
 
ON_SimpleArray< ON_Xformm_ModelXformStack
 
int m_nDisplayHeight = 0
 
int m_nDisplayWidth = 0
 Viewport size attributes... More...
 
class CRhDisplayEnginePrivate * m_private = nullptr
 
float m_stol_x = 0.75f
 
float m_stol_y = 0.75f
 
float m_stol_z = 1.00f
 screen buffer drawing tolerances More...
 
int m_wire_depth = 0
 

Detailed Description

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

Constructor & Destructor Documentation

◆ CRhinoDisplayEngine_GDI() [1/2]

CRhinoDisplayEngine_GDI::CRhinoDisplayEngine_GDI ( )

◆ CRhinoDisplayEngine_GDI() [2/2]

CRhinoDisplayEngine_GDI::CRhinoDisplayEngine_GDI ( class CRhVectorEngine *  )

◆ ~CRhinoDisplayEngine_GDI()

virtual CRhinoDisplayEngine_GDI::~CRhinoDisplayEngine_GDI ( )
virtual

Member Function Documentation

◆ ClearFrameBuffer() [1/2]

void CRhinoDisplayEngine_GDI::ClearFrameBuffer ( const CRhinoDib dib)
overridevirtual

Description: File the frame buffer with a bitmap image This function also clears the depth buffer for engines that support depth buffered drawing. Parameters: dib: [in] the image to draw into the frame buffer

Reimplemented from CRhinoDisplayEngine.

◆ ClearFrameBuffer() [2/2]

void CRhinoDisplayEngine_GDI::ClearFrameBuffer ( const ON_Color colorTopLeft,
const ON_Color colorBottomLeft,
const ON_Color colorTopRight,
const ON_Color colorBottomRight 
)
overridevirtual

Description: Fill the frame buffer with a gradient between four corner colors This function also clears the depth buffer for engines that support depth buffered drawing. Parameters: colorTopLeft: [in] the color in the top-left corner of the frame buffer colorBottomLeft: [in] the color in the bottom-left corner of the frame buffer colorTopRight: [in] the color in the top-right corner of the frame buffer colorBottomRight: [in] the color in the bottom-right corner of the frame buffer

Implements CRhinoDisplayEngine.

◆ CopyBackBufferFrom()

bool CRhinoDisplayEngine_GDI::CopyBackBufferFrom ( const CRhinoDib dib)
overridevirtual

Description: Copy color information from a bitmap into the back buffer Parameters: dib: [in] bitmap that contains the color information Returns: true if successful

Reimplemented from CRhinoDisplayEngine.

◆ CopyBackBufferTo() [1/2]

bool CRhinoDisplayEngine_GDI::CopyBackBufferTo ( CRhinoDib dib)
overridevirtual

Description: Copy color information in back buffer to a bitmap Parameters: dib: [out] bitmap that is created with color information from back buffer Returns: true if successful

Reimplemented from CRhinoDisplayEngine.

◆ CopyBackBufferTo() [2/2]

bool CRhinoDisplayEngine_GDI::CopyBackBufferTo ( HDC  hDC)
overridevirtual

Description: Copy color information in back buffer to a device context Parameters: pDC: [in] device context that will get color information blitted into it Returns: true if successful

Reimplemented from CRhinoDisplayEngine.

◆ Draw2dLines()

void CRhinoDisplayEngine_GDI::Draw2dLines ( const ON_2fPoint points,
int  count,
bool  asPolyline,
ON_Color  strokeColor,
float  strokeWidth,
RhinoDashStyle  style,
bool  xormode 
)
overridevirtual

Description: Draw polyline defined in screen coordinates This is the low level 2d drawing routine used for drawing lines, rectangles,...

Parameters
asPolylineif false, each point pair is treated as independent lines

Implements CRhinoDisplayEngine.

◆ DrawBezier()

void CRhinoDisplayEngine_GDI::DrawBezier ( int  dim,
BOOL  bIsRational,
int  order,
int  cv_stride,
const double *  cv4d,
const CRhCurveAttributes attrs 
)
overridevirtual

Description: Draw a bezier curve Parameters: dim: [in] bIsRational: [in] order: [in] cv_stride: [in] number of doubles between CVs (>=4) cv4d: [in] 4d homogeneous world coordinate CVs attrs: [in] attributes for the curve

Reimplemented from CRhinoDisplayEngine.

◆ DrawBitmap()

void CRhinoDisplayEngine_GDI::DrawBitmap ( const CRhinoDib dib,
int  nX,
int  nY 
)
overridevirtual

Description: Draw a bitmap Parameters: dib: [in] the bitmap to draw nX: [in] screen coordinate left location to draw top-left corner of dib nY: [in] screen coordinate top location to draw top-left corner of dib mask: [in] if set to a color, the dib is drawn using a color mask for transparency

Reimplemented from CRhinoDisplayEngine.

◆ DrawCurve()

void CRhinoDisplayEngine_GDI::DrawCurve ( const ON_Curve curve,
const class CRhinoDisplayPen &  pen,
CRhinoCacheHandle cacheHandle 
)
overridevirtual

Reimplemented from CRhinoDisplayEngine.

◆ DrawDot()

void CRhinoDisplayEngine_GDI::DrawDot ( const ON_TextDot dot,
bool  locationInWorld,
ON_Color  fillColor,
ON_Color  textColor,
ON_Color  borderColor,
class CRhinoCacheHandle cache 
)
overridevirtual

Implements CRhinoDisplayEngine.

◆ DrawHatch() [1/2]

void CRhinoDisplayEngine_GDI::DrawHatch ( const ON_Hatch hatch,
const class CRhinoDisplayBrush *  fillBrush,
const class CRhinoDisplayPen *  boundaryPen,
CRhinoCacheHandle cacheHandle 
)
overridevirtual

Do not call - placeholder virtual function in order to improve hatch display without breaking SDK.

Reimplemented from CRhinoDisplayEngine.

◆ DrawHatch() [2/2]

void CRhinoDisplayEngine_GDI::DrawHatch ( const ON_Hatch hatch,
const ON_HatchPattern pattern,
float  strokeWidth,
ON_Color  hatchColor,
ON_Color  boundaryColor,
CRhinoCacheHandle cacheHandle 
)
overridevirtual

Reimplemented from CRhinoDisplayEngine.

◆ DrawMeshes()

void CRhinoDisplayEngine_GDI::DrawMeshes ( const ON_Mesh **  pMeshes,
int  count,
bool  wires,
bool  shaded,
const CDisplayPipelineAttributes ,
CRhinoCacheHandle cacheHandle 
)
override

◆ DrawPoints()

void CRhinoDisplayEngine_GDI::DrawPoints ( int  count,
const class CRhPointData *  points,
CRhinoCacheHandle cache 
)
overridevirtual

Implements CRhinoDisplayEngine.

◆ DrawPolygon()

void CRhinoDisplayEngine_GDI::DrawPolygon ( const ON_3dPoint points,
int  count,
ON_Color  color,
bool  bFilled 
)
overridevirtual

Description: Draw a polygon using a set of points for the polygon border Parameters: points: [in] array of points in world coordinates to use for polygon border count: [in] number of elements in points array color: [in] draw color bFilled: [in] true = draw the polygon as a filled shape false = just draw the polygon border

Reimplemented from CRhinoDisplayEngine.

◆ DrawPolylines()

void CRhinoDisplayEngine_GDI::DrawPolylines ( const CRhinoClippingVertexCollection *  lists,
int  count 
)
override

◆ DrawRoundedRectangle()

void CRhinoDisplayEngine_GDI::DrawRoundedRectangle ( ON_2fPoint  screenCenter,
float  pixelWidth,
float  pixelHeight,
float  cornerRadius,
ON_Color  strokeColor,
float  strokeWidth,
ON_Color  fillColor 
)
overridevirtual

Implements CRhinoDisplayEngine.

◆ DrawString() [1/3]

void CRhinoDisplayEngine_GDI::DrawString ( const ON_TextContent text,
const ON_Xform textXform,
ON_Color  color,
CRhinoCacheHandle cache 
)
overridevirtual

Reimplemented from CRhinoDisplayEngine.

◆ DrawString() [2/3]

void CRhinoDisplayEngine_GDI::DrawString ( const wchar_t *  text,
const ON_Color textColor,
const ON_2dPoint point,
bool  middle,
float  fontHeightPixels,
const ON_Font font 
)
overridevirtual

Description: Draws text with specified color, font and height

Implements CRhinoDisplayEngine.

◆ DrawString() [3/3]

void CRhinoDisplayEngine_GDI::DrawString ( const wchar_t *  text,
const ON_Xform xf,
const ON_Font font,
const ON_Color color,
ON::TextHorizontalAlignment  horizontalAlignment,
ON::TextVerticalAlignment  verticalAlignment,
CRhinoCacheHandle cache 
)
overridevirtual

Implements CRhinoDisplayEngine.

◆ DrawTexturedPlane() [1/2]

bool CRhinoDisplayEngine_GDI::DrawTexturedPlane ( const CRhinoDib image,
const ON_2dPoint screenLowerLeft,
const ON_2dPoint screenLowerRight,
const ON_2dPoint screenUpperRight,
const ON_2dPoint screenUpperLeft 
) const

◆ DrawTexturedPlane() [2/2]

bool CRhinoDisplayEngine_GDI::DrawTexturedPlane ( const CRhinoDib image,
const ON_Plane plane,
ON_Interval  domain_horz,
ON_Interval  domain_vert 
) const

◆ DrawTraceImage()

void CRhinoDisplayEngine_GDI::DrawTraceImage ( const class CRhTraceImage &  traceimage)
overridevirtual

Description: Draws background bitmap image onto the construction plane.

Reimplemented from CRhinoDisplayEngine.

◆ DrawWallpaper()

void CRhinoDisplayEngine_GDI::DrawWallpaper ( const class CRhWallpaper &  wallpaper)
overridevirtual

Description: Draws wallpaper image into the back buffer.

Reimplemented from CRhinoDisplayEngine.

◆ GetBackBuffer()

bool CRhinoDisplayEngine_GDI::GetBackBuffer ( CRhinoDib )
overridevirtual

Engine buffers support...

Reimplemented from CRhinoDisplayEngine.

◆ MaxClipPlanesSupported()

int CRhinoDisplayEngine_GDI::MaxClipPlanesSupported ( ) const
overridevirtual

Returns: The maximum number of user defined clipping planes supported. This does not include the standard view frustum clipping planes. OpenGL and Direct3D will support different numbers of clipping planes based on the installed graphics card.

Reimplemented from CRhinoDisplayEngine.

◆ NotifyFrameSizeChanged()

bool CRhinoDisplayEngine_GDI::NotifyFrameSizeChanged ( int  nWidth,
int  nHeight 
)
overrideprotectedvirtual

Description: Tell the engine that the size of the rectangle that it draws to has changed.

Reimplemented from CRhinoDisplayEngine.

◆ ResetEngine()

bool CRhinoDisplayEngine_GDI::ResetEngine ( )
overridevirtual

Description: Should reset the engine back to some initial state...but at the same time try to maintain current state (ie. opened or closed). Typically this means saving the current state, shutting down the engine and then restarting the engine with the saved state

This is typically only used for things like changing the multisampling modes for an engine Returns: true if the reset operation was successful

Reimplemented from CRhinoDisplayEngine.

◆ RestoreBackBuffer()

bool CRhinoDisplayEngine_GDI::RestoreBackBuffer ( )
overridevirtual

Returns: true if a saved back buffer was successfully restored to the back buffer

Reimplemented from CRhinoDisplayEngine.

◆ RestoreGraphicsState()

void CRhinoDisplayEngine_GDI::RestoreGraphicsState ( )

Mac only; does nothing on MS Windows.

◆ SaveBackBuffer()

bool CRhinoDisplayEngine_GDI::SaveBackBuffer ( )
overridevirtual

Returns: true if this engine successfully saved back buffer color information to a location that can be retrieved at a later time

Reimplemented from CRhinoDisplayEngine.

◆ SaveGraphicsState()

void CRhinoDisplayEngine_GDI::SaveGraphicsState ( )

Mac only; does nothing on MS Windows.

◆ SetClipRect()

const ON_4iRect CRhinoDisplayEngine_GDI::SetClipRect ( const ON_4iRect clipRect)

Used in printing code to set up clip regions.

◆ ShutdownEngine()

void CRhinoDisplayEngine_GDI::ShutdownEngine ( )
overridevirtual

Description: Should completely shutdown and destroy everything associated with this engine... This includes any runtime buffers, dibs, or rendering contexts

Reimplemented from CRhinoDisplayEngine.

◆ StartEngine()

bool CRhinoDisplayEngine_GDI::StartEngine ( )
overridevirtual

Engine initialization and cleanup opertaions...

Description: At the very beginning of drawing each frame the pipeline will call StartEngine to allow the engine to perform any required initializaion or context enabling

All subclasses that override this function should call this base class version of the function. Returns: True if the engine was successfully "started". False if something went wrong. If the function returns false, the pipeline will not be able to draw a frame.

Reimplemented from CRhinoDisplayEngine.

◆ VectorEngineAttached()

bool CRhinoDisplayEngine_GDI::VectorEngineAttached ( ) const

Friends And Related Function Documentation

◆ CRhinoDisplayPipeline_GDI

friend class CRhinoDisplayPipeline_GDI
friend