DI-Guy SDK Documentation  13.6
diguyAuthorVisualMaterial.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2022 MAK Technologies, Inc.
4  ** All rights reserved.
5  *********************************************************************/
6 
7 
8 
9 #ifndef __diguyAuthorVisualMaterial_H
10 #define __diguyAuthorVisualMaterial_H
11 
12 #include <declspec_diguy.h>
13 #include <diguy_vector_classes.h>
14 class bdiGeometryVisualMaterial;
15 
16 
17 /*********************************************************************/
26 class BDI_DECLSPEC_diguy diguyAuthorVisualMaterial
27 {
28 
29 public:
30 
31  /*l
32  ** Returns the name of this material.
33  */
34  const char* get_name();
35 
36 
37 /*****************************************************************************/
43  /*l
44  ** Returns the material's primary brush color. The brush color is used
45  ** to fill the polygons of visuals.
46  **
47  ** The returned vector is an RGBA color vector, with color channel
48  ** values between 0 and 1.
49  */
50  diguyVec4f get_brush_color();
51 
52  /*l
53  ** Returns the suggested number of "layers", or vertical divisions, that
54  ** should be used to construct polygonal solids such as spheres, cones,
55  ** cylinders, and other shapes that need linear approximations of
56  ** circular data.
57  **
58  ** Analogous to layers in a round cake.
59  */
60  int get_num_layers(); // number "vertical" divisions
61 
62  /*l
63  ** Returns the suggested number of "slices", or radial divisions, that
64  ** should be used to construct polygonal solids such as spheres, cones,
65  ** cylinders, and other shapes that need linear approximations of
66  ** circular data.
67  **
68  ** Analogous to slices in a round cake.
69  */
70  int get_num_slices();
71 
72  /*l
73  ** Returns 1 if faces in should be visible, 0 if not. This is the same
74  ** as checking whether the brush color alpha component equals 0
75  ** (complete transparency).
76  **
77  ** Shortcut for checking brush alpha not equal to 0.
78  */
79  int get_fill_faces();
80 
81 
82 /*****************************************************************************/
88  /*l
89  ** Returns the material's primary pen color. The pen color is used for
90  ** line segments and edges of visuals.
91  **
92  ** The returned vector is an RGBA color vector, with color channel
93  ** values between 0 and 1.
94  */
95  diguyVec4f get_pen_color();
96 
97  /*l
98  ** Returns the material's secondary pen color. The secondary pen isn't
99  ** used by a visual unless the visual's documentation explicitly says it
100  ** is.
101  */
102  diguyVec4f get_pen2_color();
103 
104  /*l
105  ** Returns the recommended width of line segments.
106  */
107  float get_line_width();
108 
109  /*l
110  ** Returns 1 if edge line segments should be visible, 0 if not. This is
111  ** the same as checking whether the pen color alpha component equals 0
112  ** (complete transparency).
113  */
114  int get_edge_faces();
115 
117 
118 /****************************************************************************/
119 /****************************************************************************/
120 
125  bdiGeometryVisualMaterial* get_scripted_object() {return m_scripted_object;}
126 
127 protected:
128 
129  diguyAuthorVisualMaterial(void* internal_data);
130 
131  bdiGeometryVisualMaterial* m_scripted_object;
132 
133  friend class bdiGeometryVisualMaterial;
134  friend class bdiGeometryFactory;
135 };
136 
137 #endif /* __diguyAuthorVisualMaterial_H */
138 
Definition: diguy_vector_classes.h:154
The diguyAuthorVisualMaterial class provides data needed to render DI-Guy Author visuals in a Host IG...
Definition: diguyAuthorVisualMaterial.h:22