Loading...
Searching...
No Matches
opennurbs_3dm_attributes.h
/* $NoKeywords: $ */
/*
//
// Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved.
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks 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 openNURBS copyright information see <http://www.opennurbs.org>.
//
////////////////////////////////////////////////////////////////
*/
////////////////////////////////////////////////////////////////
//
// defines ON_3dmObjectAttributes
//
////////////////////////////////////////////////////////////////
#if !defined(OPENNURBS_3DM_ATTRIBUTES_INC_)
#define OPENNURBS_3DM_ATTRIBUTES_INC_
/*
Description:
Top level OpenNURBS objects have geometry and attributes. The
geometry is stored in some class derived from ON_Geometry and
the attributes are stored in an ON_3dmObjectAttributes class.
Examples of attributes are object name, object id, display
attributes, group membership, layer membership, and so on.
Remarks:
7 January 2003 Dale Lear
Derived from ON_Object so ON_UserData can be attached
to ON_3dmObjectAttributes.
*/
class ON_CLASS ON_3dmObjectAttributes : public ON_Object
{
ON_OBJECT_DECLARE(ON_3dmObjectAttributes);
public:
// ON_Object virtual interface. See ON_Object
// for details.
// virtual
ON_BOOL32 IsValid( ON_TextLog* text_log = NULL ) const;
// virtual
void Dump( ON_TextLog& ) const;
// virtual
unsigned int SizeOf() const;
// virtual
ON_BOOL32 Write(ON_BinaryArchive&) const;
// virtual
ON_BOOL32 Read(ON_BinaryArchive&);
/*
Returns:
True if successful.
(xform is invertable or didn't need to be).
*/
bool Transform( const ON_Xform& xform );
// attributes of geometry and dimension table objects
public:
ON_3dmObjectAttributes();
~ON_3dmObjectAttributes();
// Default C++ copy constructor and operator= work fine
// Do not provide custom versions
// NO // ON_3dmObjectAttributes(const ON_3dmObjectAttributes&);
// NO // ON_3dmObjectAttributes& operator=(const ON_3dmObjectAttributes&);
bool operator==(const ON_3dmObjectAttributes&) const;
bool operator!=(const ON_3dmObjectAttributes&) const;
// Initializes all attributes to the default values.
void Default();
// Interface ////////////////////////////////////////////////////////
// An OpenNURBS object must be in one of three modes: normal, locked
// or hidden. If an object is in normal mode, then the object's layer
// controls visibility and selectability. If an object is locked, then
// the object's layer controls visibility by the object cannot be selected.
// If the object is hidden, it is not visible and it cannot be selected.
ON::object_mode Mode() const;
void SetMode( ON::object_mode ); // See Mode().
/*
Description:
Use this query to determine if an object is part of an
instance definition.
Returns:
True if the object is part of an instance definition.
*/
bool IsInstanceDefinitionObject() const;
/*
Returns:
Returns true if object is visible.
See Also:
ON_3dmObjectAttributes::SetVisible
*/
bool IsVisible() const;
/*
Description:
Controls object visibility
Parameters:
bVisible - [in] true to make object visible,
false to make object invisible
See Also:
ON_3dmObjectAttributes::IsVisible
*/
void SetVisible( bool bVisible );
// The Linetype used to display an OpenNURBS object is specified in one of two ways.
// If LinetypeSource() is ON::linetype_from_layer, then the object's layer
// ON_Layer::Linetype() is used.
// If LinetypeSource() is ON::linetype_from_object, then value of m_linetype is used.
ON::object_linetype_source LinetypeSource() const;
void SetLinetypeSource( ON::object_linetype_source ); // See LinetypeSource().
// The color used to display an OpenNURBS object is specified in one of three ways.
// If ColorSource() is ON::color_from_layer, then the object's layer
// ON_Layer::Color() is used.
// If ColorSource() is ON::color_from_object, then value of m_color is used.
// If ColorSource() is ON::color_from_material, then the diffuse color of the object's
// render material is used. See ON_3dmObjectAttributes::MaterialSource() to
// determine where to get the definition of the object's render material.
ON::object_color_source ColorSource() const;
void SetColorSource( ON::object_color_source ); // See ColorSource().
// The color used to plot an OpenNURBS object on paper is specified
// in one of three ways.
// If PlotColorSource() is ON::plot_color_from_layer, then the object's layer
// ON_Layer::PlotColor() is used.
// If PlotColorSource() is ON::plot_color_from_object, then value of PlotColor() is used.
ON::plot_color_source PlotColorSource() const;
void SetPlotColorSource( ON::plot_color_source ); // See PlotColorSource().
ON::plot_weight_source PlotWeightSource() const;
void SetPlotWeightSource( ON::plot_weight_source );
// OpenNURBS objects can be displayed in one of three ways: wireframe,
// shaded, or render preview. If the display mode is ON::default_display,
// then the display mode of the viewport detrmines how the object
// is displayed. If the display mode is ON::wireframe_display,
// ON::shaded_display, or ON::renderpreview_display, then the object is
// forced to display in that mode.
ON::display_mode DisplayMode() const;
void SetDisplayMode( ON::display_mode ); // See DisplayMode().
/*
Description:
If "this" has attributes (color, plot weight, ...) with
"by parent" sources, then the values of those attributes
on parent_attributes are copied.
Parameters:
parent_attributes - [in]
parent_layer - [in]
control_limits - [in]
The bits in control_limits determine which attributes may
may be copied.
1: visibility
2: color
4: render material
8: plot color
0x10: plot weight
0x20: linetype
0x40: display order
Returns:
The bits in the returned integer indicate which attributes were
actually modified.
1: visibility
2: color
4: render material
8: plot color
0x10: plot weight
0x20: linetype
0x40: display order
*/
ON_DEPRECATED unsigned int ApplyParentalControl(
const ON_3dmObjectAttributes& parent_attributes,
unsigned int control_limits = 0xFFFFFFFF
);
unsigned int ApplyParentalControl(
const ON_3dmObjectAttributes& parent_attributes,
const ON_Layer& parent_layer,
unsigned int control_limits = 0xFFFFFFFF
);
// Every OpenNURBS object has a UUID (universally unique identifier). The
// default value is NULL. When an OpenNURBS object is added to a model, the
// value is checked. If the value is NULL, a new UUID is created. If the
// value is not NULL but it is already used by another object in the model,
// a new UUID is created. If the value is not NULL and it is not used by
// another object in the model, then that value persists. When an object
// is updated, by a move for example, the value of m_uuid persists.
ON_UUID m_uuid;
// OpenNURBS object have optional text names. More than one object in
// a model can have the same name and some objects may have no name.
ON_wString m_name;
// OpenNURBS objects may have an URL. There are no restrictions on what
// value this URL may have. As an example, if the object came from a
// commercial part library, the URL might point to the definition of that
// part.
ON_wString m_url;
// Layer definitions in an OpenNURBS model are stored in a layer table.
// The layer table is conceptually an array of ON_Layer classes. Every
// OpenNURBS object in a model is on some layer. The object's layer
// is specified by zero based indicies into the ON_Layer array.
int m_layer_index;
// Linetype definitions in an OpenNURBS model are stored in a linetype table.
// The linetype table is conceptually an array of ON_Linetype classes. Every
// OpenNURBS object in a model references some linetype. The object's linetype
// is specified by zero based indicies into the ON_Linetype array.
// index 0 is reserved for continuous linetype (no pattern)
int m_linetype_index;
// Rendering material:
// If you want something simple and fast, set
// m_material_index to the index of the rendering material
// and ignore m_rendering_attributes.
// If you are developing a high quality plug-in renderer,
// and a user is assigning one of your fabulous rendering
// materials to this object, then add rendering material
// information to the m_rendering_attributes.m_materials[]
// array.
//
// Developers:
// As soon as m_rendering_attributes.m_materials[] is not empty,
// rendering material queries slow down. Do not populate
// m_rendering_attributes.m_materials[] when setting
// m_material_index will take care of your needs.
int m_material_index;
ON_ObjectRenderingAttributes m_rendering_attributes;
//////////////////////////////////////////////////////////////////
//
// BEGIN: Per object mesh parameter support
//
/*
Parameters:
mp - [in]
per object mesh parameters
Returns:
True if successful.
*/
bool SetCustomRenderMeshParameters(const class ON_MeshParameters& mp);
/*
Parameters:
bEnable - [in]
true to enable use of the per object mesh parameters.
false to disable use of the per object mesh parameters.
Returns:
False if the object doe not have per object mesh parameters
and bEnable was true. Use SetMeshParameters() to set
per object mesh parameters.
Remarks:
Sets the value of ON_MeshParameters::m_bCustomSettingsDisabled
to !bEnable
*/
bool EnableCustomRenderMeshParameters(bool bEnable);
/*
Returns:
Null or a pointer to fragile mesh parameters.
If a non-null pointer is returned, copy it and use the copy.
* DO NOT SAVE THIS POINTER FOR LATER USE. A call to
DeleteMeshParameters() will delete the class.
* DO NOT const_cast the returned pointer and change its
settings. You must use either SetMeshParameters()
or EnableMeshParameters() to change settings.
Remarks:
If the value of ON_MeshParameters::m_bCustomSettingsDisabled is
true, then do no use these parameters to make a render mesh.
*/
const ON_MeshParameters* CustomRenderMeshParameters() const;
/*
Description:
Deletes any per object mesh parameters.
*/
void DeleteCustomRenderMeshParameters();
//
// END: Per object mesh parameter support
//
//////////////////////////////////////////////////////////////////
/*
Description:
Determine if the simple material should come from
the object or from it's layer.
High quality rendering plug-ins should use m_rendering_attributes.
Returns:
Where to get material information if you do are too lazy
to look in m_rendering_attributes.m_materials[].
*/
ON::object_material_source MaterialSource() const;
/*
Description:
Specifies if the simple material should be the one
indicated by the material index or the one indicated
by the object's layer.
Parameters:
ms - [in]
*/
void SetMaterialSource( ON::object_material_source ms );
// If ON::color_from_object == ColorSource(), then m_color is the object's
// display color.
ON_Color m_color;
// If ON::plot_color_from_object == PlotColorSource(), then m_color is the object's
// display color.
ON_Color m_plot_color;
// Display order used to force objects to be drawn on top or behind each other
// 0 = draw object in standard depth buffered order
// <0 = draw object behind "normal" draw order objects
// >0 = draw object on top of "noraml" draw order objects
// Larger number draws on top of smaller number.
int m_display_order;
// Plot weight in millimeters.
// =0.0 means use the default width
// <0.0 means don't plot (visible for screen display, but does not show on plot)
double m_plot_weight_mm;
// Used to indicate an object has a decoration (like an arrowhead on a curve)
ON::object_decoration m_object_decoration;
// When a surface object is displayed in wireframe, m_wire_density controls
// how many isoparametric wires are used.
//
// @table
// value number of isoparametric wires
// -1 boundary wires
// 0 boundary and knot wires
// 1 boundary and knot wires and, if there are no
// interior knots, a single interior wire.
// N>=2 boundary and knot wires and (N-1) interior wires
int m_wire_density;
// If m_viewport_id is nil, the object is active in
// all viewports. If m_viewport_id is not nil, then
// this object is only active in a specific view.
// This field is primarily used to assign page space
// objects to a specific page, but it can also be used
// to restrict model space to a specific view.
ON_UUID m_viewport_id;
// Starting with V4, objects can be in either model space
// or page space. If an object is in page space, then
// m_viewport_id is not nil and identifies the page it
// is on.
ON::active_space m_space;
private:
bool m_bVisible;
unsigned char m_mode; // (m_mode % 16) = ON::object_mode values
// (m_mode / 16) = ON::display_mode values
unsigned char m_color_source; // ON::object_color_source values
unsigned char m_plot_color_source; // ON::plot_color_source values
unsigned char m_plot_weight_source; // ON::plot_weight_source values
unsigned char m_material_source; // ON::object_material_source values
unsigned char m_linetype_source; // ON::object_linetype_source values
unsigned char m_reserved_0;
ON_SimpleArray<int> m_group; // array of zero based group indices
public:
// group interface
// returns number of groups object belongs to
int GroupCount() const;
// Returns and array an array of GroupCount() zero based
// group indices. If GroupCount() is zero, then GroupList()
// returns NULL.
const int* GroupList() const;
// Returns GroupCount() and puts a list of zero based group indices
// into the array.
int GetGroupList(ON_SimpleArray<int>&) const;
// Returns the index of the last group in the group list
// or -1 if the object is not in any groups
int TopGroup() const;
// Returns true if object is in group with the specified index
ON_BOOL32 IsInGroup(
int // zero based group index
) const;
// Returns true if the object is in any of the groups in the list
ON_BOOL32 IsInGroups(
int, // group_list_count
const int* // group_list[] array
) const;
// Returns true if object is in any of the groups in the list
ON_BOOL32 IsInGroups(
const ON_SimpleArray<int>& // group_list[] array
) const;
// Adds object to the group with specified index by appending index to
// group list (If the object is already in group, nothing is changed.)
void AddToGroup(
int // zero based group index
);
// Removes object from the group with specified index. If the
// object is not in the group, nothing is changed.
void RemoveFromGroup(
int // zero based group index
);
// removes the object from the last group in the group list
void RemoveFromTopGroup();
// Removes object from all groups.
void RemoveFromAllGroups();
// display material references
/*
Description:
Searches for a matching display material. For a given
viewport id, there is at most one display material.
For a given display material id, there can be multiple
viewports. If there is a display reference in the
list with a nil viewport id, then the display material
will be used in all viewports that are not explictly
referenced in other ON_DisplayMaterialRefs.
Parameters:
search_material - [in]
found_material - [out]
If FindDisplayMaterialRef(), the input value of search_material
is never changed. If FindDisplayMaterialRef() returns true,
the chart shows the output value of display_material. When
there are multiple possibilities for a match, the matches
at the top of the chart have higher priority.
search_material found_material
input value output value
(nil,nil) (nil,did) if (nil,did) is in the list.
(nil,did) (vid,did) if (vid,did) is in the list.
(nil,did) (nil,did) if (nil,did) is in the list.
(vid,nil) (vid,did) if (vid,did) is in the list
(vid,nil) (vid,did) if (nil,did) is in the list
(vid,did) (vid,did) if (vid,did) is in the list.
Example:
ON_UUID display_material_id = ON_nil_uuid;
ON_Viewport vp = ...;
ON_DisplayMaterialRef search_dm;
search_dm.m_viewport_id = vp.ViewportId();
ON_DisplayMaterialRef found_dm;
if ( attributes.FindDisplayMaterial(search_dm, &found_dm) )
{
display_material_id = found_dm.m_display_material_id;
}
Returns:
True if a matching display material is found.
See Also:
ON_3dmObjectAttributes::AddDisplayMaterialRef
ON_3dmObjectAttributes::RemoveDisplayMaterialRef
*/
bool FindDisplayMaterialRef(
const ON_DisplayMaterialRef& search_material,
ON_DisplayMaterialRef* found_material = NULL
) const;
/*
Description:
Quick way to see if a viewport has a special material.
Parameters:
viewport_id - [in]
display_material_id - [out]
Returns:
True if a material_id is assigned.
*/
bool FindDisplayMaterialId(
const ON_UUID& viewport_id,
ON_UUID* display_material_id = NULL
) const;
/*
Description:
Add a display material reference to the attributes. If
there is an existing entry with a matching viewport id,
the existing entry is replaced.
Parameters:
display_material - [in]
Returns:
True if input is valid (material id != nil)
See Also:
ON_3dmObjectAttributes::FindDisplayMaterialRef
ON_3dmObjectAttributes::RemoveDisplayMaterialRef
*/
bool AddDisplayMaterialRef(
ON_DisplayMaterialRef display_material
);
/*
Description:
Remove a display material reference from the list.
Parameters:
viewport_id - [in] Any display material references
with this viewport id will be removed. If nil,
then viewport_id is ignored.
display_material_id - [in]
Any display material references that match the
viewport_id and have this display_material_id
will be removed. If nil, then display_material_id
is ignored.
Returns:
True if a display material reference was removed.
See Also:
ON_3dmObjectAttributes::FindDisplayMaterialRef
ON_3dmObjectAttributes::AddDisplayMaterialRef
*/
bool RemoveDisplayMaterialRef(
ON_UUID viewport_id,
ON_UUID display_material_id = ON_nil_uuid
);
/*
Description:
Remove a the entire display material reference list.
*/
void RemoveAllDisplayMaterialRefs();
/*
Returns:
Number of diplay material refences.
*/
int DisplayMaterialRefCount() const;
ON_SimpleArray<ON_DisplayMaterialRef> m_dmref;
private:
bool WriteV5Helper( ON_BinaryArchive& file ) const;
bool ReadV5Helper( ON_BinaryArchive& file );
};
#endif
ON_3dmObjectAttributes
Definition opennurbs_3dm_attributes.h:42
ON_3dmObjectAttributes::m_linetype_index
int m_linetype_index
Definition opennurbs_3dm_attributes.h:231
ON_3dmObjectAttributes::m_name
ON_wString m_name
Definition opennurbs_3dm_attributes.h:212
ON_3dmObjectAttributes::SizeOf
unsigned int SizeOf() const
ON_3dmObjectAttributes::Write
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_3dmObjectAttributes::EnableCustomRenderMeshParameters
bool EnableCustomRenderMeshParameters(bool bEnable)
ON_3dmObjectAttributes::SetPlotColorSource
void SetPlotColorSource(ON::plot_color_source)
ON_3dmObjectAttributes::m_display_order
int m_display_order
Definition opennurbs_3dm_attributes.h:341
ON_3dmObjectAttributes::SetCustomRenderMeshParameters
bool SetCustomRenderMeshParameters(const class ON_MeshParameters &mp)
ON_3dmObjectAttributes::Read
ON_BOOL32 Read(ON_BinaryArchive &)
ON_3dmObjectAttributes::m_color
ON_Color m_color
Definition opennurbs_3dm_attributes.h:330
ON_3dmObjectAttributes::AddDisplayMaterialRef
bool AddDisplayMaterialRef(ON_DisplayMaterialRef display_material)
ON_3dmObjectAttributes::ColorSource
ON::object_color_source ColorSource() const
ON_3dmObjectAttributes::SetMaterialSource
void SetMaterialSource(ON::object_material_source ms)
ON_3dmObjectAttributes::~ON_3dmObjectAttributes
~ON_3dmObjectAttributes()
ON_3dmObjectAttributes::Default
void Default()
ON_3dmObjectAttributes::SetColorSource
void SetColorSource(ON::object_color_source)
ON_3dmObjectAttributes::RemoveFromGroup
void RemoveFromGroup(int)
ON_3dmObjectAttributes::operator!=
bool operator!=(const ON_3dmObjectAttributes &) const
ON_3dmObjectAttributes::Transform
bool Transform(const ON_Xform &xform)
ON_3dmObjectAttributes::FindDisplayMaterialRef
bool FindDisplayMaterialRef(const ON_DisplayMaterialRef &search_material, ON_DisplayMaterialRef *found_material=NULL) const
ON_3dmObjectAttributes::IsVisible
bool IsVisible() const
ON_3dmObjectAttributes::SetVisible
void SetVisible(bool bVisible)
ON_3dmObjectAttributes::IsInstanceDefinitionObject
bool IsInstanceDefinitionObject() const
ON_3dmObjectAttributes::IsValid
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
ON_3dmObjectAttributes::Dump
void Dump(ON_TextLog &) const
ON_3dmObjectAttributes::m_viewport_id
ON_UUID m_viewport_id
Definition opennurbs_3dm_attributes.h:370
ON_3dmObjectAttributes::GetGroupList
int GetGroupList(ON_SimpleArray< int > &) const
ON_3dmObjectAttributes::m_layer_index
int m_layer_index
Definition opennurbs_3dm_attributes.h:224
ON_3dmObjectAttributes::FindDisplayMaterialId
bool FindDisplayMaterialId(const ON_UUID &viewport_id, ON_UUID *display_material_id=NULL) const
ON_3dmObjectAttributes::m_material_index
int m_material_index
Definition opennurbs_3dm_attributes.h:248
ON_3dmObjectAttributes::GroupCount
int GroupCount() const
ON_3dmObjectAttributes::SetPlotWeightSource
void SetPlotWeightSource(ON::plot_weight_source)
ON_3dmObjectAttributes::ON_3dmObjectAttributes
ON_3dmObjectAttributes()
ON_3dmObjectAttributes::RemoveDisplayMaterialRef
bool RemoveDisplayMaterialRef(ON_UUID viewport_id, ON_UUID display_material_id=ON_nil_uuid)
ON_3dmObjectAttributes::SetDisplayMode
void SetDisplayMode(ON::display_mode)
ON_3dmObjectAttributes::DisplayMode
ON::display_mode DisplayMode() const
ON_3dmObjectAttributes::SetMode
void SetMode(ON::object_mode)
ON_3dmObjectAttributes::SetLinetypeSource
void SetLinetypeSource(ON::object_linetype_source)
ON_3dmObjectAttributes::m_uuid
ON_UUID m_uuid
Definition opennurbs_3dm_attributes.h:208
ON_3dmObjectAttributes::IsInGroups
ON_BOOL32 IsInGroups(int, const int *) const
ON_3dmObjectAttributes::ApplyParentalControl
ON_DEPRECATED unsigned int ApplyParentalControl(const ON_3dmObjectAttributes &parent_attributes, unsigned int control_limits=0xFFFFFFFF)
ON_3dmObjectAttributes::CustomRenderMeshParameters
const ON_MeshParameters * CustomRenderMeshParameters() const
ON_3dmObjectAttributes::m_plot_color
ON_Color m_plot_color
Definition opennurbs_3dm_attributes.h:334
ON_3dmObjectAttributes::Mode
ON::object_mode Mode() const
ON_3dmObjectAttributes::m_url
ON_wString m_url
Definition opennurbs_3dm_attributes.h:218
ON_3dmObjectAttributes::m_object_decoration
ON::object_decoration m_object_decoration
Definition opennurbs_3dm_attributes.h:349
ON_3dmObjectAttributes::m_plot_weight_mm
double m_plot_weight_mm
Definition opennurbs_3dm_attributes.h:346
ON_3dmObjectAttributes::DeleteCustomRenderMeshParameters
void DeleteCustomRenderMeshParameters()
ON_3dmObjectAttributes::RemoveAllDisplayMaterialRefs
void RemoveAllDisplayMaterialRefs()
ON_3dmObjectAttributes::AddToGroup
void AddToGroup(int)
ON_3dmObjectAttributes::RemoveFromAllGroups
void RemoveFromAllGroups()
ON_3dmObjectAttributes::IsInGroup
ON_BOOL32 IsInGroup(int) const
ON_3dmObjectAttributes::m_dmref
ON_SimpleArray< ON_DisplayMaterialRef > m_dmref
Definition opennurbs_3dm_attributes.h:566
ON_3dmObjectAttributes::m_space
ON::active_space m_space
Definition opennurbs_3dm_attributes.h:376
ON_3dmObjectAttributes::operator==
bool operator==(const ON_3dmObjectAttributes &) const
ON_3dmObjectAttributes::TopGroup
int TopGroup() const
ON_3dmObjectAttributes::ApplyParentalControl
unsigned int ApplyParentalControl(const ON_3dmObjectAttributes &parent_attributes, const ON_Layer &parent_layer, unsigned int control_limits=0xFFFFFFFF)
ON_3dmObjectAttributes::PlotColorSource
ON::plot_color_source PlotColorSource() const
ON_3dmObjectAttributes::IsInGroups
ON_BOOL32 IsInGroups(const ON_SimpleArray< int > &) const
ON_3dmObjectAttributes::LinetypeSource
ON::object_linetype_source LinetypeSource() const
ON_3dmObjectAttributes::RemoveFromTopGroup
void RemoveFromTopGroup()
ON_3dmObjectAttributes::m_wire_density
int m_wire_density
Definition opennurbs_3dm_attributes.h:361
ON_3dmObjectAttributes::MaterialSource
ON::object_material_source MaterialSource() const
ON_3dmObjectAttributes::PlotWeightSource
ON::plot_weight_source PlotWeightSource() const
ON_3dmObjectAttributes::m_rendering_attributes
ON_ObjectRenderingAttributes m_rendering_attributes
Definition opennurbs_3dm_attributes.h:249
ON_3dmObjectAttributes::GroupList
const int * GroupList() const
ON_3dmObjectAttributes::DisplayMaterialRefCount
int DisplayMaterialRefCount() const
ON_BinaryArchive
Definition opennurbs_archive.h:732
ON_Color
Definition opennurbs_color.h:25
ON_DisplayMaterialRef
Definition opennurbs_linestyle.h:44
ON_Layer
Definition opennurbs_layer.h:21
ON_MeshParameters
Definition opennurbs_mesh.h:25
ON_Object
Definition opennurbs_object.h:377
ON_ObjectRenderingAttributes
Definition opennurbs_rendering.h:39
ON_SimpleArray
Definition opennurbs_array.h:47
ON_TextLog
Definition opennurbs_textlog.h:23
ON_UUID
Definition opennurbs_uuid.h:32
ON_Xform
Definition opennurbs_xform.h:29
ON_wString
Definition opennurbs_string.h:701