SilverScreen Solid Modeler

OBJECT_NODE

OBJECT_NODE

Previous topic Next topic  

OBJECT_NODE

Previous topic Next topic JavaScript is required for the print function  

SilverSharpAPI

 

SilverSharp.OBJECT_NODE

 

Structure

An entity-level data type that stores the data associated with a SilverScreen object.

 

 

 

C# Code

 

 class OBJECT_NODE sealed : BOS_NODE

    {

    OBJECT_NODE(OBJECT_NODE rhs);

    OBJECT_NODE(string obj_path);

 

    [System.Flags]

    enum PrimitiveBits

       {

       PM_LINE           = 0X0001,

       PM_POLYGON        = 0X0002,

       PM_SPLINE         = 0X0004,

       PM_WIDE_LINE      = 0X0008,

       PM_DEEPLINE       = 0X0010,

       PM_DEEPARC        = 0X0020,

       PM_BEZIER         = 0X0040,

       PM_HOLE           = 0X0080,

       PM_MESH           = 0X0200,

       PM_POLYLINE       = 0X0400,

       PM_POINT          = 0X0800,

       PM_CIRCLE         = 0X1000,

       PM_ARC            = 0X2000,

       PM_PARC           = 0x4000,

       PM_PCIRCLE        = 0X8000,

       };

 

 

    readonly TEXTURE_DATA  texture;

    readonly SURFACE_NODE  sn;

   

    property TagList       Tags          { get; }

    property TAG_NODE      first_tag     { get; }

 

    property SchemaList    Schemas       { get; }

    property SCHEMA_NODE   first_schema  { get; }

 

    property int           vertex_count  { get; }

    property VertexList    Vertices      { get; }

       

    property int           edge_count    { get; }

    property EdgeList      Edges         { get; }

 

    property SS_XYZ        t_horz        { get; }

    property SS_XYZ        t_vert        { get; }

    property SS_XYZ        t_base        { get; }

 

    property double        pattern_scale { get; }

    property SS_RGB        pattern_rgb   { get; }

 

    property uint          high_id       { get; }

    property PrimitiveBits primitives    { get; }

             

    property PrimList      Children      { get; }

    property PRIM_NODE     first_node    { get; }

    property PRIM_NODE     last_node     { get; }

    };    

 

 

 

Properties

The following read-only properties mimic the purpose of their counter-parts in the SilverC OBJECT_NODE.

 

Member

Description

texture

A TEXTURE_DATA object that contains texture properties associated with the object and used by the rendering system.

sn

A SURFACE_NODE object that contains surface properties associated with the object and used by the rendering system.

first_tag

A TAG_NODE reference to the first tag associated with the object. SilverSharp developers will likely prefer using 'Tags'.

first_schema

A SCHEMA_NODE reference to the first schema associated with the object. SilverSharp developers will likely prefer using 'Schemas'.

vertex_count

The number of vertices in the object (a cube would have 8).

edge_count

The number of edges in the object (a cube would have 12).

t_horz

A displacement vector that is the texture space (t-space) horizontal axis

t_vert

A displacement vector that is the texture space (t-space) vertical axis

t_base

A 3D point  that is the texture space (t-space) basepoint

pattern_scale

A scaling factor that is applied to all patterns of all primitives contained by the object.

pattern_rgb

The color that is used to over-ride all patterns of all primitives contained by the object when bits2 has the BITS_PATTERN_COLOR flag set.

high_id

If the object contains primitives, this is the largest identifier used. This number is used to assign primitive identifiers that do not conflict.

primitives

Bit flags with the following meanings when BITS_HIGHLOW is set on the inherited bits1 property:

 

Constant

Meaning

PM_LINE

The object contains at least one line

PM_POLYGON

The object contains at least one polygon

PM_SPLINE

The object contains at least one spline curve

PM_WIDE_LINE

The object contains at least one primitive that uses a wide linestyle

PM_DEEPLINE

The object contains at least one line that belongs to a polygon or polyline

PM_DEEPARC

The object contains at least one arc that belongs to a polygon or polyline

PM_BEZIER

The object contains at least one bezier curve

PM_HOLE

The object contains at least one primitive with a hole in it

PM_MESH

The object contains at least one bezier mesh surface

PM_POLYLINE

The object contains at least one polyline

PM_POINT

The object contains at least one 3D point primitive

PM_CIRCLE

The object contains at least one circle

PM_ARC

The object contains at least one arc

PM_PARC

The object contains at least one phantom arc

PM_PCIRCLE

The object contains at least one phantom circle

first_node

A PRIM_NODE reference to the first primitive in the object. SilverSharp developers will likely prefer using 'Children'.

last_node

A PRIM_NODE reference to the last primitive in the object

 

The following read-only properties extend OBJECT_NODE for SilverSharp:

 

Member

Description

Tags

Enumerates every TAG_NODE from the tag table of the object entity

Schemas

Enumerates every SCHEMA_NODE from the schema table of the object entity

Vertices

Enumerates every SS_XYZ from the vertex table of the object entity

Edges

Enumerates every EDGE_NODE from the edge table of the object entity

Children

Enumerates every PRIM_NODE from the primitive table of the object entity

 

 

Methods

Name

Description

OBJECT_NODE

Constructors to initialize the object

 

 

Remarks

A SilverSharp.OBJECT_NODE inherits from a SilverSharp.BOS_NODE and therefore includes those properties and methods as well; for instance, Path, Type, and bits1 are inherited properties of a SilverSharp.BOS_NODE.

 

Note: A SilverSharp.OBJECT_NODE is a SilverSharp.BOS_NODE, but the reverse is not true.

 

 

See Also

SilverC OBJECT_NODE, Entity types