GL Studio C++ Runtime API
gls_schematic_tee_interconnect.h
Go to the documentation of this file.
1#ifndef _GLSSCHEMATICTEEINTERCONNECT_H
2#define _GLSSCHEMATICTEEINTERCONNECT_H
3
4/*! \file
5 \brief The disti::GlsSchematicTeeInterconnect class.
6
7 \par Copyright Information
8
9 Copyright (c) 2017 by The DiSTI Corporation.<br>
10 11301 Corporate Blvd; Suite 100<br>
11 Orlando, Florida 32817<br>
12 USA<br>
13 <br>
14 All rights reserved.<br>
15
16 This Software contains proprietary trade secrets of DiSTI and may not be
17reproduced, in whole or part, in any form, or by any means of electronic,
18mechanical, or otherwise, without the written permission of DiSTI. Said
19permission may be derived through the purchase of applicable DiSTI product
20licenses which detail the distribution rights of this content and any
21Derivative Works based on this or other copyrighted DiSTI Software.
22
23 NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND,
24AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT
25PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES
26AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
27IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A
28PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.
29
30 LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
31IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
32INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
33DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
34INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
35INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY
36OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT
37EXCEED FIVE DOLLARS (US$5.00).
38
39 The aforementioned terms and restrictions are governed by the laws of the
40State of Florida and the United States of America.
41*/
42
43#include "glpolygon.h"
46
47/// Provides support for creating DLLs.
48#if( defined( GLSGEN_EXPORT_GLSSCHEMATICTEEINTERCONNECT ) || defined( GLSGEN_IMPORT_GLSSCHEMATICTEEINTERCONNECT ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
49 && defined( _MSC_VER )
50# if defined( GLSGEN_EXPORT_GLSSCHEMATICTEEINTERCONNECT ) || defined( GLS_EXPORT_GENERATED )
51# define GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT __declspec( dllexport )
52# else
53# define GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT __declspec( dllimport )
54# endif
55#else
56# define GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT
57#endif
58///////////////////////////////////////////////////////////////////////////////
59
60/// Automatically link the runtime library plugin (on Windows).
61#define LIB_BASE_NAME "gls_schematic_tee_interconnect"
62#include "gls_auto_lib.h"
63#undef LIB_BASE_NAME
64
65namespace disti
66{
67// SetValue enumerations
68enum
69{
70 GLS_SCHEMATICTEEINTERCONNECT_FIRST_VALUE = GLS_LAST_INITIALIZER + 1,
71 GLS_SCHEMATICTEEINTERCONNECT_LEFT_LINE_THICKNESS,
72 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_LINE_THICKNESS,
73 GLS_SCHEMATICTEEINTERCONNECT_BASE_LINE_THICKNESS,
74 GLS_SCHEMATICTEEINTERCONNECT_LEFT_INTERCONNECT_TEXTURE_INDEX,
75 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_INTERCONNECT_TEXTURE_INDEX,
76 GLS_SCHEMATICTEEINTERCONNECT_BASE_INTERCONNECT_TEXTURE_INDEX,
77 GLS_SCHEMATICTEEINTERCONNECT_LEFT_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
78 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
79 GLS_SCHEMATICTEEINTERCONNECT_BASE_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
80 GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_TEXTURE_INDEX,
81 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_TEXTURE_INDEX,
82 GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_TEXTURE_INDEX,
83 GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_TEXTURE_REPEAT_LENGTH,
84 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_TEXTURE_REPEAT_LENGTH,
85 GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_TEXTURE_REPEAT_LENGTH,
86 GLS_SCHEMATICTEEINTERCONNECT_LEFT_SHOW_FLOW,
87 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_SHOW_FLOW,
88 GLS_SCHEMATICTEEINTERCONNECT_BASE_SHOW_FLOW,
89 GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_RATE,
90 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_RATE,
91 GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_RATE,
92 GLS_SCHEMATICTEEINTERCONNECT_LEFT_SHOW_FLOW_BLINK,
93 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_SHOW_FLOW_BLINK,
94 GLS_SCHEMATICTEEINTERCONNECT_BASE_SHOW_FLOW_BLINK,
95 GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_RATE,
96 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_RATE,
97 GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_RATE,
98 GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_START_COLOR,
99 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_START_COLOR,
100 GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_START_COLOR,
101 GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_END_COLOR,
102 GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_END_COLOR,
103 GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_END_COLOR,
104 GLS_SCHEMATICTEEINTERCONNECT_USE_DISPLAY_LIST,
105 GLS_SCHEMATICTEEINTERCONNECT_TOP_VISIBLE,
106 GLS_SCHEMATICTEEINTERCONNECT_TOP_LINE_THICKNESS,
107 GLS_SCHEMATICTEEINTERCONNECT_TOP_INTERCONNECT_TEXTURE_INDEX,
108 GLS_SCHEMATICTEEINTERCONNECT_TOP_INTERCONNECT_TEXTURE_REPEAT_LENGTH,
109 GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_TEXTURE_INDEX,
110 GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_TEXTURE_REPEAT_LENGTH,
111 GLS_SCHEMATICTEEINTERCONNECT_TOP_SHOW_FLOW,
112 GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_RATE,
113 GLS_SCHEMATICTEEINTERCONNECT_TOP_SHOW_FLOW_BLINK,
114 GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_RATE,
115 GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_START_COLOR,
116 GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_END_COLOR
117};
118
119#ifdef GLES
120class GlsGloFileAttribute;
121#endif
122
123/** Runtime implementation of a GlsSchematicTeeInterconnect */
125{
126private:
129
130 void CopyPropertiesInternal( GlsSchematicTeeInterconnect* src );
131
132public:
133 DISTI_DEPRECATED( "This identifier is forbidden by the C++ standard. Use BaseClass instead." )
134 typedef GLPolygon _BaseClass; ///< Deprecated typedef for the base class.
135 typedef GLPolygon BaseClass; ///< Typedef for the base class.
136 friend class GlsSchematicTeeInterconnectEditor;
137
138 /// Create a new GlsSchematicTeeInterconnect.
139 /// \param generateInstance Whether or not to generate an instance name for this object.
141
142 /// Copy constructor
143 /// \param that The object to copy from.
144 /// \param generateNames Whether or not to generate an instance name for this object.
146
147 /** Destructs a GlsSchematicTeeInterconnect object */
149
150 /// \return A pointer to a new GlsSchematicTeeInterconnect object.
152
153 //////////////////////////////////////////////////
154 // Overridden base class methods
155 //////////////////////////////////////////////////
156
160
161#ifndef GLES
164#endif
165
169
171
172 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT bool Hit( float x, float y, float z, float scale, const Vector& directionVector, Vector* collisionPoint ) DISTI_METHOD_OVERRIDE;
173
175
177
179
180 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void Scale( float px, float py, float pz, Vertex* anchor, int handleBar = 0 ) DISTI_METHOD_OVERRIDE
181 {
182 BaseClass::Scale( px, py, pz, anchor, handleBar );
183 SetRebuild();
184 }
185
186 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void Rotate( const Vector& orig, float angle, const Vector& axis ) DISTI_METHOD_OVERRIDE
187 {
188 BaseClass::Rotate( orig, angle, axis );
189 SetRebuild();
190 }
191
193 {
194 BaseClass::SetVertices( nPoints, vertices );
195 SetRebuild();
196 }
197
198#ifdef GLES
201#endif
202
204
205 //////////////////////////////////////////////////
206 // GlsSchematicTeeInterconnect specific operations
207 //////////////////////////////////////////////////
208
209 /// Set the thickness of the left side.
210 /// \see GlsSchematicPolyLineInterconnect::SetLineThickness
211 /// \param lineThickness The new thickness value to set.
212 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetLeftLineThickness( const float lineThickness );
213
214 /// \return The thickness of the left side.
216
217 /// Set the thickness of the right side.
218 /// \see GlsSchematicPolyLineInterconnect::SetLineThickness
219 /// \param lineThickness The new thickness value to set.
220 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetRightLineThickness( const float lineThickness );
221
222 /// \return The thickness of the right side.
224
225 /// Set the thickness of the baseline (bottom) side.
226 /// \see GlsSchematicPolyLineInterconnect::SetLineThickness
227 /// \param lineThickness The new thickness value to set.
228 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetBaseLineThickness( const float lineThickness );
229
230 /// \return The thickness of the baseline (bottom) side.
232
233 /// Set the thickness of the top side.
234 /// \see GlsSchematicPolyLineInterconnect::SetLineThickness
235 /// \param lineThickness The new thickness value to set.
236 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetTopLineThickness( const float lineThickness );
237
238 /// \return The thickness of the top side.
240
241 /// Set the texture index of the left side.
242 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureIndex
243 /// \param textureIndex The new texture index to set.
245
246 /// \return the texture index of the left side
248
249 /// Set the texture index of the right side.
250 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureIndex
251 /// \param textureIndex The new texture index to set.
253
254 /// \return The texture index of the right side.
256
257 /// Set the texture index of the base (bottom) side.
258 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureIndex
259 /// \param textureIndex The new texture index to set.
261
262 /// \return the texture index of the base (bottom) side
264
265 /// Set the texture index of the top side.
266 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureIndex
267 /// \param textureIndex The new texture index to set.
269
270 /// \return The texture index of the top side.
272
273 /// Set the texture repeat length of the left side.
274 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureRepeatLength
275 /// \param textureRepeatLength The new texture repeat length to set.
277
278 /// \return The texture repeat length of the left side.
280
281 /// Set the texture repeat length of the right side.
282 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureRepeatLength
283 /// \param textureRepeatLength The new texture repeat length to set.
285
286 /// \return The texture repeat length of the right side.
288
289 /// Set the texture repeat length of the base (bottom) side.
290 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureRepeatLength
291 /// \param textureRepeatLength The new texture repeat length to set.
293
294 /// \return The texture repeat length of the base (bottom) side.
296
297 /// Set the texture repeat length of the top side.
298 /// \see GlsSchematicPolyLineInterconnect::SetInterconnectTextureRepeatLength
299 /// \param textureRepeatLength The new texture repeat length to set.
301
302 /// \return The texture repeat length of the top side.
304
305 /// Set the flow texture index of the left side.
306 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureIndex
307 /// \param textureIndex The new flow texture index to set.
309
310 /// \return The flow texture index of the left side.
312
313 /// Set the flow texture index of the right side.
314 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureIndex
315 /// \param textureIndex The new flow texture index to set.
317
318 /// \return The flow texture index of the right side.
320
321 /// Set the flow texture index of the base (bottom) side.
322 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureIndex
323 /// \param textureIndex The new flow texture index to set.
325
326 /// \return The flow texture index of the base (bottom) side.
328
329 /// Set the flow texture index of the top side.
330 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureIndex
331 /// \param textureIndex The new flow texture index to set.
333
334 /// \return The flow texture index of the top side.
336
337 /// Set the flow texture repeat length of the left side.
338 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureRepeatLength
339 /// \param textureRepeatLength The new texture repeat length to set.
340 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetLeftFlowTextureRepeatLength( const float textureRepeatLength );
341
342 /// \return The flow texture repeat length of the left side.
344
345 /// Set the flow texture repeat length of the right side.
346 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureRepeatLength
347 /// \param textureRepeatLength The new texture repeat length to set.
348 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetRightFlowTextureRepeatLength( const float textureRepeatLength );
349
350 /// \return The flow texture repeat length of the right side.
352
353 /// Set the flow texture repeat length of the base (bottom) side.
354 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureRepeatLength
355 /// \param textureRepeatLength The new texture repeat length to set.
356 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetBaseFlowTextureRepeatLength( const float textureRepeatLength );
357
358 /// \return The flow texture repeat length of the base (bottom) side.
360
361 /// Set the flow texture repeat length of the right side.
362 /// \see GlsSchematicPolyLineInterconnect::SetFlowTextureRepeatLength
363 /// \param textureRepeatLength The new texture repeat length to set.
364 virtual GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT void SetTopFlowTextureRepeatLength( const float textureRepeatLength );
365
366 /// \return The flow texture repeat length of the top side.
368
369 /// Set the flow visibility for the left side.
370 /// \see GlsSchematicPolyLineInterconnect::SetShowFlow
371 /// \param showFlow The new flow visibility flag to set.
373
374 /// \return The flow visibility for the left side.
376
377 /// Set the flow visibility for the right side.
378 /// \see GlsSchematicPolyLineInterconnect::SetShowFlow
379 /// \param showFlow The new flow visibility flag to set.
381
382 /// \return The flow visibility for the right side.
384
385 /// Set the flow visibility for the base (bottom) side.
386 /// \see GlsSchematicPolyLineInterconnect::SetShowFlow
387 /// \param showFlow The new flow visibility flag to set.
389
390 /// \return The flow visibility for the base (bottom) side.
392
393 /// Set the flow visibility for the top side.
394 /// \see GlsSchematicPolyLineInterconnect::SetShowFlow
395 /// \param showFlow The new flow visibility flag to set.
397
398 /// \return The flow visibility for the top side.
400
401 /// Set the flow rate for the left side.
402 /// \see GlsSchematicPolyLineInterconnect::SetFlowRate
403 /// \param flowRate The new flow rate to set.
404 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetLeftFlowRate( const float flowRate );
405
406 /// \return The flow rate for the left side.
408
409 /// Set the flow rate for the right side.
410 /// \see GlsSchematicPolyLineInterconnect::SetFlowRate
411 /// \param flowRate The new flow rate to set.
413
414 /// \return The flow rate for the right side.
416
417 /// Set the flow rate for the base (bottom) side.
418 /// \see GlsSchematicPolyLineInterconnect::SetFlowRate
419 /// \param flowRate The new flow rate to set.
420 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetBaseFlowRate( const float flowRate );
421
422 /// \return The flow rate for the base (bottom) side.
424
425 /// Set the flow rate for the top side.
426 /// \see GlsSchematicPolyLineInterconnect::SetFlowRate
427 /// \param flowRate The new flow rate to set.
428 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetTopFlowRate( const float flowRate );
429
430 /// \return The flow rate for the top side.
432
433 /// Set the flow blink visibility flag for the left side.
434 /// \see GlsSchematicPolyLineInterconnect::SetShowFlowBlink
435 /// \param showFlowBlink The new flow blink visibility flag to set.
436 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetLeftShowFlowBlink( const bool showFlowBlink );
437
438 /// \return The flow blink visibility flag for the left side.
440
441 /// Set the flow blink visibility flag for the right side.
442 /// \see GlsSchematicPolyLineInterconnect::SetShowFlowBlink
443 /// \param showFlowBlink The new flow blink visibility flag to set.
444 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetRightShowFlowBlink( const bool showFlowBlink );
445
446 /// \return The flow blink visibility flag for the right side.
448
449 /// Set the flow blink visibility flag for the base (bottom) side.
450 /// \see GlsSchematicPolyLineInterconnect::SetShowFlowBlink
451 /// \param showFlowBlink The new flow blink visibility flag to set.
452 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetBaseShowFlowBlink( const bool showFlowBlink );
453
454 /// \return The flow blink visibility flag for the base (bottom) side.
456
457 /// Set the flow blink visibility flag for the top side.
458 /// \see GlsSchematicPolyLineInterconnect::SetShowFlowBlink
459 /// \param showFlowBlink The new flow blink visibility flag to set.
460 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetTopShowFlowBlink( const bool showFlowBlink );
461
462 /// \return The flow blink visibility flag for the top side.
464
465 /// Set the flow blink rate for the left side.
466 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkRate
467 /// \param flowBlinkRate The new flow blink rate to set.
468 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetLeftFlowBlinkRate( const float flowBlinkRate );
469
470 /// \return The flow blink rate for the left side.
472
473 /// Set the flow blink rate for the right side.
474 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkRate
475 /// \param flowBlinkRate The new flow blink rate to set.
476 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetRightFlowBlinkRate( const float flowBlinkRate );
477
478 /// \return The flow blink rate for the right side.
480
481 /// Set the flow blink rate for the base (bottom) side.
482 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkRate
483 /// \param flowBlinkRate The new flow blink rate to set.
484 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetBaseFlowBlinkRate( const float flowBlinkRate );
485
486 /// \return The flow blink rate for the base (bottom) side.
488
489 /// Set the flow blink rate for the top side.
490 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkRate
491 /// \param flowBlinkRate The new flow blink rate to set.
492 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetTopFlowBlinkRate( const float flowBlinkRate );
493
494 /// \return The flow blink rate for the top side.
496
497 /// Set the flow blink start color for the left side.
498 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkStartColor
499 /// \param startColor The new blink start color to set.
501
502 /// \return The flow blink start color for the left side.
504
505 /// Set the flow blink start color for the right side.
506 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkStartColor
507 /// \param startColor The new blink start color to set.
509
510 /// \return The flow blink start color for the right side.
512
513 /// Set the flow blink start color for the base (bottom) side.
514 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkStartColor
515 /// \param startColor The new blink start color to set.
517
518 /// \return The flow blink start color for the base (bottom) side.
520
521 /// Set the flow blink start color for the top side.
522 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkStartColor
523 /// \param startColor The new blink start color to set.
525
526 /// \return The flow blink start color for the top side.
528
529 /// Set the flow blink end color for the left side.
530 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkEndColor
531 /// \param endColor The new flow blink end color to set.
533
534 /// \return The flow blink end color for the left side.
536
537 /// Set the flow blink end color for the right side.
538 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkEndColor
539 /// \param endColor The new flow blink end color to set.
541
542 /// \return The flow blink end color for the right side.
544
545 /// Set the flow blink end color for the base (bottom) side.
546 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkEndColor
547 /// \param endColor The new flow blink end color to set.
549
550 /// \return The flow blink end color for the base (bottom) side.
552
553 /// Set the flow blink end color for the top side.
554 /// \see GlsSchematicPolyLineInterconnect::SetFlowBlinkEndColor
555 /// \param endColor The new flow blink end color to set.
557
558 /// \return The flow blink end color for the top side.
560
561 /** set the top of the tee visible
562 * \param topVisible true to set top visible
563 */
564 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetTopVisible( const bool topVisible );
565
566 /** determine if the top of the tee is visible
567 * \return true if top is visible
568 */
569 virtual bool GetTopVisible() { return ( _top->Visibility() ); }
570
571#ifndef GLES
572 /** enable/disable using display list for drawing
573 * \param useDisplayList true to use display list
574 */
575 virtual void GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT SetUseDisplayList( const bool useDisplayList );
576
577 /** get use display list
578 * \return true if using display list for drawing
579 */
581#endif
582
583protected:
584 /** helper method to setup render attributes on the given leg to the render attributes of the tee
585 * and then draw the leg
586 * \param leg leg to configure and draw
587 */
589
590 /** flag lines to be adjusted for vertices on next draw */
592
593 /** adjust lines to match vertices */
595
596#ifdef GLES
597 /** Set a single attribute from the GLO file.
598 * \param data The attribute to set and its associated data.
599 */
601#endif
602
603 GlsSchematicPolyLineInterconnect* _left; /**< left side of tee */
604 GlsSchematicPolyLineInterconnect* _right; /**< right side of tee */
606 GlsSchematicPolyLineInterconnect* _top; /**< top of tee (visible if top enabled) */
607
608 bool _needsRebuild; /**< true if the lines need to be adjusted to match the vertices */
609};
610
611} // namespace disti
612
613#endif
Definition: cull.h:50
Definition: events.h:113
Definition: display_frame.h:87
Definition: display.h:96
virtual void Scale(float px, float py, float pz, Vertex *anchor, int handleBar=0)
bool Visibility() const
Definition: display.h:1448
virtual int TextureIndex()
DisplayFrame * Parent() const
Definition: display.h:945
virtual void SetVertices(unsigned int nPoints, Vertex *vertices)
virtual void Rotate(float angle, int axis=Z_AXIS)
Definition: dynamic_array.h:79
The Polygon class. Implements Polygons.
Definition: glpolygon.h:56
Definition: gls_color.h:54
Definition: gls_glo_file.h:1243
Definition: gls_painter.h:51
Definition: gls_schematic_poly_line_interconnect.h:100
virtual float GetInterconnectTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:125
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
GlsSchematicPolyLineInterconnect * _top
Definition: gls_schematic_tee_interconnect.h:606
virtual void CalculateTextureCoordinates() DISTI_METHOD_OVERRIDE
virtual void SetBaseFlowBlinkRate(const float flowBlinkRate)
virtual void SetRightFlowTextureRepeatLength(const float textureRepeatLength)
virtual void SetLeftFlowBlinkRate(const float flowBlinkRate)
virtual void SetBaseInterconnectTextureIndex(const int textureIndex)
virtual void SetTopShowFlow(const bool showFlow)
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
virtual void SetRightFlowRate(const float flowRate)
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
virtual void SetTopFlowBlinkEndColor(const GlsColor &endColor)
virtual int GetRightFlowTextureIndex()
Definition: gls_schematic_tee_interconnect.h:319
virtual GlsColor GetRightFlowBlinkStartColor()
Definition: gls_schematic_tee_interconnect.h:511
virtual float GetTopFlowTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:367
void ParentGroup(Group *group) DISTI_METHOD_OVERRIDE
virtual float GetRightFlowRate()
Definition: gls_schematic_tee_interconnect.h:415
virtual void SetRightShowFlow(const bool showFlow)
virtual float GetBaseFlowBlinkRate()
Definition: gls_schematic_tee_interconnect.h:487
virtual void SetBaseShowFlow(const bool showFlow)
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
bool _needsRebuild
Definition: gls_schematic_tee_interconnect.h:608
virtual bool GetUseDisplayList()
Definition: gls_schematic_tee_interconnect.h:580
virtual GlsColor GetTopFlowBlinkEndColor()
Definition: gls_schematic_tee_interconnect.h:559
virtual float GetTopLineThickness()
Definition: gls_schematic_tee_interconnect.h:239
virtual void SetTopFlowTextureRepeatLength(const float textureRepeatLength)
virtual bool GetLeftShowFlowBlink()
Definition: gls_schematic_tee_interconnect.h:439
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void SetUseDisplayList(const bool useDisplayList)
virtual void SetLeftFlowBlinkEndColor(const GlsColor &endColor)
virtual void SetLeftLineThickness(const float lineThickness)
virtual GlsColor GetTopFlowBlinkStartColor()
Definition: gls_schematic_tee_interconnect.h:527
virtual float GetLeftFlowBlinkRate()
Definition: gls_schematic_tee_interconnect.h:471
virtual void SetRightFlowBlinkStartColor(const GlsColor &startColor)
virtual DisplayObject * handle(DisplayEvent *ev) DISTI_METHOD_OVERRIDE
virtual void SetTopInterconnectTextureIndex(const int textureIndex)
virtual void SetLeftFlowTextureIndex(const int textureIndex)
virtual float GetBaseFlowRate()
Definition: gls_schematic_tee_interconnect.h:423
virtual bool GetRightShowFlow()
Definition: gls_schematic_tee_interconnect.h:383
virtual bool GetLeftShowFlow()
Definition: gls_schematic_tee_interconnect.h:375
virtual void SetLeftFlowBlinkStartColor(const GlsColor &startColor)
virtual float GetBaseInterconnectTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:295
virtual float GetLeftFlowRate()
Definition: gls_schematic_tee_interconnect.h:407
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
virtual float GetLeftLineThickness()
Definition: gls_schematic_tee_interconnect.h:215
virtual float GetBaseLineThickness()
Definition: gls_schematic_tee_interconnect.h:231
virtual void SetTopShowFlowBlink(const bool showFlowBlink)
virtual void SetTopLineThickness(const float lineThickness)
virtual void SetTopFlowBlinkRate(const float flowBlinkRate)
virtual void SetLeftInterconnectTextureIndex(const int textureIndex)
virtual void SetBaseFlowBlinkEndColor(const GlsColor &endColor)
virtual GlsColor GetBaseFlowBlinkStartColor()
Definition: gls_schematic_tee_interconnect.h:519
virtual void SetLeftShowFlowBlink(const bool showFlowBlink)
virtual bool GetTopVisible()
Definition: gls_schematic_tee_interconnect.h:569
virtual GlsColor GetLeftFlowBlinkStartColor()
Definition: gls_schematic_tee_interconnect.h:503
virtual void Rotate(const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
Definition: gls_schematic_tee_interconnect.h:186
virtual void SetTopInterconnectTextureRepeatLength(const float textureRepeatLength)
virtual void SetLeftFlowTextureRepeatLength(const float textureRepeatLength)
virtual float GetRightFlowBlinkRate()
Definition: gls_schematic_tee_interconnect.h:479
virtual void DrawLeg(GlsSchematicPolyLineInterconnect *leg)
virtual int GetBaseInterconnectTextureIndex()
Definition: gls_schematic_tee_interconnect.h:263
virtual float GetBaseFlowTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:359
virtual void Calculate(double time) DISTI_METHOD_OVERRIDE
static DisplayObject * CreateInstance()
virtual bool GetTopShowFlowBlink()
Definition: gls_schematic_tee_interconnect.h:463
virtual void SetVertices(unsigned int nPoints, Vertex *vertices) DISTI_METHOD_OVERRIDE
Definition: gls_schematic_tee_interconnect.h:192
virtual void SetBaseFlowBlinkStartColor(const GlsColor &startColor)
virtual void SetRightFlowBlinkRate(const float flowBlinkRate)
virtual void SetTopVisible(const bool topVisible)
virtual void SetBaseLineThickness(const float lineThickness)
virtual bool GetBaseShowFlowBlink()
Definition: gls_schematic_tee_interconnect.h:455
virtual float GetLeftFlowTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:343
virtual int GetLeftFlowTextureIndex()
Definition: gls_schematic_tee_interconnect.h:311
virtual GlsColor GetRightFlowBlinkEndColor()
Definition: gls_schematic_tee_interconnect.h:543
virtual void SetRightFlowTextureIndex(const int textureIndex)
virtual bool GetTopShowFlow()
Definition: gls_schematic_tee_interconnect.h:399
virtual void SetBaseFlowRate(const float flowRate)
virtual void SetTopFlowBlinkStartColor(const GlsColor &startColor)
virtual float GetRightFlowTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:351
GlsSchematicPolyLineInterconnect * _right
Definition: gls_schematic_tee_interconnect.h:604
virtual int GetRightInterconnectTextureIndex()
Definition: gls_schematic_tee_interconnect.h:255
virtual float GetTopFlowBlinkRate()
Definition: gls_schematic_tee_interconnect.h:495
virtual void SetRightInterconnectTextureIndex(const int textureIndex)
void SetPainter(GlsPainter *painter) DISTI_METHOD_OVERRIDE
virtual void SetBaseFlowTextureIndex(const int textureIndex)
virtual void SetRightLineThickness(const float lineThickness)
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual float GetLeftInterconnectTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:279
virtual bool GetRightShowFlowBlink()
Definition: gls_schematic_tee_interconnect.h:447
virtual void Scale(float px, float py, float pz, Vertex *anchor, int handleBar=0) DISTI_METHOD_OVERRIDE
Definition: gls_schematic_tee_interconnect.h:180
virtual void SetRightShowFlowBlink(const bool showFlowBlink)
virtual void SetRightFlowBlinkEndColor(const GlsColor &endColor)
virtual void SetLeftInterconnectTextureRepeatLength(const float textureRepeatLength)
virtual int GetLeftInterconnectTextureIndex()
Definition: gls_schematic_tee_interconnect.h:247
virtual GlsColor GetBaseFlowBlinkEndColor()
Definition: gls_schematic_tee_interconnect.h:551
virtual void SetLeftShowFlow(const bool showFlow)
virtual GlsColor GetLeftFlowBlinkEndColor()
Definition: gls_schematic_tee_interconnect.h:535
virtual void SetBaseInterconnectTextureRepeatLength(const float textureRepeatLength)
virtual void SetTopFlowTextureIndex(const int textureIndex)
virtual float GetTopInterconnectTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:303
virtual float GetTopFlowRate()
Definition: gls_schematic_tee_interconnect.h:431
virtual int GetTopInterconnectTextureIndex()
Definition: gls_schematic_tee_interconnect.h:271
virtual float GetRightLineThickness()
Definition: gls_schematic_tee_interconnect.h:223
virtual void SetBaseFlowTextureRepeatLength(const float textureRepeatLength)
virtual int GetBaseFlowTextureIndex()
Definition: gls_schematic_tee_interconnect.h:327
virtual void SetBaseShowFlowBlink(const bool showFlowBlink)
virtual void SetLeftFlowRate(const float flowRate)
virtual bool GetBaseShowFlow()
Definition: gls_schematic_tee_interconnect.h:391
GlsSchematicPolyLineInterconnect * _left
Definition: gls_schematic_tee_interconnect.h:603
GlsSchematicPolyLineInterconnect * _base
Definition: gls_schematic_tee_interconnect.h:605
virtual float GetRightInterconnectTextureRepeatLength()
Definition: gls_schematic_tee_interconnect.h:287
virtual int GetTopFlowTextureIndex()
Definition: gls_schematic_tee_interconnect.h:335
virtual void SetRightInterconnectTextureRepeatLength(const float textureRepeatLength)
virtual void SetTopFlowRate(const float flowRate)
Definition: group.h:53
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
Definition: vertex.h:85
Definition: vertex.h:420
The disti::GLPolygon class. Implements Polygons.
The gls_auto_lib.
Macros and helper code to determine what subset of C++11/14/17 is available.
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:457
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:214
The disti::GlsSchematicPolyLineInterconnect class.
#define GLSGEN_GLSSCHEMATICTEEINTERCONNECT_EXPORT
Provides support for creating DLLs.
Definition: gls_schematic_tee_interconnect.h:56
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47