Rhino C++ API
8.14
|
#include <RhinoSdkDisplayConduit.h>
Public Member Functions | |
CSupportChannels (UINT channels=CHANNELS_SUPPORTED) | |
operator UINT () const | |
CSupportChannels & | operator= (UINT ch) |
bool | Supports (UINT ch) const |
Static Public Attributes | |
const static UINT | SC_ALL_DRAW_CHANNELS = SC_PREDRAWOBJECTS|SC_DRAWOBJECT|SC_POSTDRAWOBJECTS|SC_PREOBJECTDRAW|SC_POSTOBJECTDRAW|SC_CUSTOMRENDEROBJECTS |
const static UINT | SC_CALCBOUNDINGBOX = 0x00000008 |
const static UINT | SC_CALCCLIPPINGPLANES = 0x00000010 |
const static UINT | SC_CUSTOMRENDEROBJECTS = 0x00100000 |
const static UINT | SC_DRAWBACKGROUND = 0x00000040 |
const static UINT | SC_DRAWFOREGROUND = 0x00000400 |
const static UINT | SC_DRAWMIDDLEGROUND = SC_PREDRAWMIDDLEGROUND|SC_PREDRAWOBJECTS|SC_DRAWOBJECT|SC_POSTDRAWOBJECTS|SC_CUSTOMRENDEROBJECTS |
const static UINT | SC_DRAWOBJECT = 0x00000100 |
const static UINT | SC_DRAWOVERLAY = 0x00000800 |
const static UINT | SC_INITFRAMEBUFFER = 0x00000001 |
const static UINT | SC_MESHINGPARAMETERS = 0x00002000 |
const static UINT | SC_OBJECT_BASED_CHANNEL = SC_OBJECTCULLING|SC_DRAWOBJECT|SC_OBJECTDISPLAYATTRS|SC_PREOBJECTDRAW|SC_POSTOBJECTDRAW |
const static UINT | SC_OBJECTCULLING = 0x00000004 |
const static UINT | SC_OBJECTDISPLAYATTRS = 0x00004000 |
const static UINT | SC_POSTDRAWOBJECTS = 0x00000200 |
const static UINT | SC_POSTOBJECTDRAW = 0x00010000 |
const static UINT | SC_POSTPROCESSFRAMEBUFFER = 0x00001000 |
const static UINT | SC_PREDRAWMIDDLEGROUND = 0x00040000 |
const static UINT | SC_PREDRAWOBJECTS = 0x00000080 |
const static UINT | SC_PREDRAWTRANSPARENTOBJECTS = 0x00080000 |
const static UINT | SC_PREOBJECTDRAW = 0x00008000 |
const static UINT | SC_SETUPFRUSTUM = 0x00000002 |
const static UINT | SC_SETUPLIGHTING = 0x00000020 |
const static UINT | SC_VIEWEXTENTS = 0x00020000 |
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. Specialiazed UINT class that ensures "supported" values only...
The display pipeline calls conduits during specific phases of drawing (channels) During the drawing of a single frame the channels are called in the following order
[Begin Drawing of a Frame] SC_CALCBOUNDINGBOX SC_CALCCLIPPINGPLANES SC_SETUPFRUSTUM SC_SETUPLIGHTING SC_INITFRAMEBUFFER SC_DRAWBACKGROUND If this is a layout and detail objects exist the channels are called in the same order for each detail object (drawn as a nested viewport) SC_PREDRAWMIDDLEGROUND SC_PREDRAWOBJECTS
For Each Visible Non Highlighted Object SC_OBJECTDISPLAYATTRS SC_PREOBJECTDRAW SC_DRAWOBJECT SC_POSTOBJECTDRAW Next Object
Here Rhino draws highlighted objects
SC_PREDRAWTRANSPARENTOBJECTS
Here Rhino draws transparent objects (sorted)
SC_POSTDRAWOBJECTS SC_DRAWFOREGROUND
For Each Visible Highlighted Object SC_OBJECTDISPLAYATTRS SC_PREOBJECTDRAW SC_DRAWOBJECT SC_POSTOBJECTDRAW Next Object
SC_POSTPROCESSFRAMEBUFFER - If a conduit exists that requires this SC_DRAWOVERLAY - If Rhino is in a feedback mode [End of Drawing of a Frame]
NOTE: There may be multiple SC_DRAWOBJECT calls for a single object. An example of when this could happen would be with a shaded sphere. The shaded mesh is first drawn and these channels would be processed; then at a later time the isocurves for the sphere would be drawn.
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const static UINT SC_RESERVED_CHANNEL = 0x00200000; const static UINT SC_RESERVED_CHANNEL = 0x00400000; const static UINT SC_RESERVED_CHANNEL = 0x00800000; const static UINT SC_RESERVED_CHANNEL = 0x01000000; const static UINT SC_RESERVED_CHANNEL = 0x02000000; const static UINT SC_RESERVED_CHANNEL = 0x04000000; const static UINT SC_RESERVED_CHANNEL = 0x08000000; const static UINT SC_RESERVED_CHANNEL = 0x10000000; const static UINT SC_RESERVED_CHANNEL = 0x20000000; const static UINT SC_RESERVED_CHANNEL = 0x40000000; const static UINT SC_RESERVED_CHANNEL = 0x80000000; Helper masks that make some things a little easier... Note: These are not channels, but a combination of different channels...You should always use the specific channels above when defining or referring to channel values.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |