![]() |
Initializes a new instance of the OpenGlDevice class. |
![]() | |
![]() | If DrawEnabled = false then the drawmethods don't works. In combination with HitEnabled you can trick: Draw an invisible, but catchenabled object, so you have an invisible hotspot. |
![]() | If GenerateNames is true then a MNName willbe generated if the parent is set to a component with has no name. With GenerateNames is guarantized, the every member of a tree ( except the root ) has a unique name and there is a fullpath, with that the element can be identified. |
![]() | |
![]() |
![]() | Retrieves and sets the color of the background |
![]() | |
![]() | With this value the magnetism is controlled. Objects, who are nearer as Catchdistance will be added to the HitItemlist. It is the distance in screen coordinate. By default the value is 5 pixels. |
![]() | Converts the value CatchDistance in world distance. |
![]() | |
![]() | Returns the count of children |
![]() | If a hit happens then CurrentHit holds the first element if HitItemlist |
![]() | Returns the 3-point, which is allocated by the mousepointer and magnetism to some objects |
![]() | |
![]() | |
![]() | Returns the point of view. |
![]() | This is the distance from the Eye to the projectionplane. In case of orthogonal projection we have a fix EyeDistance of 30, else the distance is given by WorldWidth/(2*Tan(FieldOfView)); |
![]() | Sets or gets the farrclipping distance. She is relative to the Eye. By default she is 50. This means an ob ject, which is farer from the eye than 50 logical unit wil be clipped. |
![]() | Sets the angle of the FieldOfView in degree. An angle of zero indicates that we have a orthogonal projection An angle different to zero indicates that we have a perspective projection. A good angle for that is ~ 20° |
![]() | Sets or gets the name of the current font. A call to drawText uses this font. |
![]() | Determes the size of the font in logical units. See also drawText |
![]() | |
![]() | If HitEnabled = true then the selectmechanism works, else it is turned off. Default it is true. See also HitItemlist |
![]() | HitItemlist contains Hititems, which belong to selected drawing elements. This are elements, who lay in the near of the Point p, for which the method Select was called. See also HitItemList |
![]() | The default indexer retieves and sets MNComponents |
![]() | Controls, whether the lighting is on or not. |
![]() | Contains the lights, who are used from the device |
![]() | Sets and gets the Material. |
![]() | Name of the component. |
![]() | The ModelMatrix plays an important rule. If scene data are going to the device the they wold be transformed first by the modelmatrix and then by the ProjectionMatrix. After this two transformations the data are laying in a cube, which is bounded by (-1, -1, -1) and (1, 1, 1). In the last step the points are posiionned in the screen by expand into the viewport. You see, that the modelmatrix is a very powerful property. Surface S = new Sphere(4); Device.DrawSurface(S); // save the modelmatrix Device.PushMatrix() Device.ModelMatrix = Device.ModelMatrix * Translation(new (5, 0, 0); // this Sphere has the center at (5 /0 /0 ). Device.DrawSurface(S); Device.ModelMatrix = Device.ModelMatrix * Translation(new (5, 0, 0); // this Sphere has the center at (5 /0 /0 ). Device.DrawSurface(S); // reset the Modelmatrix Device.PopMatrix() |
![]() | |
![]() | If Navigate is true then you can navigate in the scene by pressed mousemoves. |
![]() | Sets or gets the nearclipping distance. She is relative to the Eye. By default she is 1. This means an object, which is nearer to the Eye as 1 logical unit will be clipped. |
![]() | Sets or gets the parent of the component and looks for the correct and unique name. See also GenerateNames, setParent |
![]() | With this color the lines of an object will be drawn. See also PolygonMode |
![]() | |
![]() | |
![]() | Set and gets the number of pixels per logical unit. Default is 30. A larger value makes a scene bigger. |
![]() | The PolygonMode indicates wether the scene is drawn: as line model or as full rendered model. See PolygonMode |
![]() | Gets or sets the projectionbase in which the scene will be projected. You can also transform the ... // rotate the projectionbase around her x-axis Base P = Device.ProjectionBase; P = P.mul(Math.Matrix.Rotation(P.Basex, Math.PI/6)); Device.ProjectionBase = P ... |
![]() | Contains the information about the projection of 3D-Data to the screen The matrix will be influenced by setting the FieldOfView. But you can set this directly for example: // initialize ProjectionMatrix by a frustum ProjectionMatrix = Math.Matrix.Frustum(-10, 10, -10, 10, 2, 50); // or ProjectionMatrix = Matrix.Orthogonal(left,right,bottom,top,-20,20); |
![]() | |
![]() | This property holds the RenderMode. He indicates the kind of drawing. If RenderMode = Nothing the the device is not in a paintstate. The RenderMode = Select is used to calculate the selection. See Select The RenderMode = MaxBox is used to calculate an environmentbox for an object. The RenderMode = MaxRect is used to calculate an Rectangle for an object. |
![]() | If you set tis property to a Entity, the the Entity will be drawn with all its children. Apart of this the ActriveCtrl Work will be drawn by the device. |
![]() | |
![]() | Sets and gets a Texture, who will be drawn. |
![]() | Get and sets a transformation for a texture. |
![]() | |
![]() | |
![]() | |
![]() | This is an ActiveCtrl which is created by the Device. It is used as Parent for ActiveCtrl Apart of this the Root will be drawn if it is not null. |
![]() | Get the height of the window in logical units |
![]() | |
![]() | |
![]() | Returns the width of the windows in logical untits. |
![]() | Sets or gets the zoomfactor of the scene. By default it is 1. If you want to play the scene with 200% the set Zoofactor to 2; |
![]() | Adds an elment in the list. |
![]() | With this method, you can add a Light. |
![]() | |
![]() | Retrieves the index of child by a name. |
![]() | You can get a MNComponent by setting a fullpath relative to the given MNComponent. Separated are the names by "/". MNComponent root = new MNComponent(); MNComponent a = new MNComponent(); MNComponent b = new MNComponent(); MNComponent c = new MNComponent(); a.MNName = "Frank"; b.MNName = "Joe"; c.MNName = "Sam"; c.Parent = b; b.Parent = a; a.Parent = root; MNComponent d = root.ChildByPathName("Frank/Joe/Sam"); // d is then the component c |
![]() | Overrides the ClearScreen-method by calling OpenGl-methods. |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | Draw a Curve |
![]() | |
![]() | Draw a Line From A to B. |
![]() | Overloaded. Draws a point. The kind of drawing is describben in p. MNDevice.PointData |
![]() | Draws an array of curve. |
![]() | Draws a Polyline. if PolygonMode = Fill, then a filled area bounded by lines is drawn, but shold they have not crosspoints |
![]() | This primitive drawmethod draws a Loca. In case of PolygonMode = line, simple curves are drawn. If PolygonMode = Fill, then a filled area bounded by curves is drawn. The Loca must have the property, thats the entries are coherently curvearrays and additionally there are no crosspoints. if this is done then curvearrays, which lays in an other filled curvearray is "drawn as hole". If in lays in a hole then the curvearray is filled drawn. |
![]() | This primitive drawmethod draws a PolyPolyline. In case of PolygonMode = line, simple lines are drawn. If PolygonMode = Fill, then a filled area bounded by lines is drawn. The Loxyz must have the property, thats the entries are coherently xyzarrays and additionally there are no crosspoints. If this is done, then xyzarrays, which lays in an other filled xyzarray are "drawn as hole". If it lays in a hole then the xyzarray is filled drawn. |
![]() | Overloaded. This call draw a Surface. Further you can set the resolutions of the u and v parameters. |
![]() | Overrides the method drawText and draw the text at a specified position with a given extrusion. |
![]() | Overrides the drawTriangle-method and implements them in terms of OpenGL |
![]() | |
![]() | Overloaded. Calculates a LineType in worldcoordinates, which is prjected to the screenpoint p. ToScr |
![]() | Gives the full path of the component over all ancestors until a null-parent occurs. This parent often called the root. The separator of the names is "/". |
![]() | |
![]() | Returns the Enumerator of an intern ArrayList |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | Retrieves a Base, who lies on the catched object. The direction of the x-axes is given by the direction of a catched Direction, the z-axis is the normal of a catched Normal. The BaseOrigin is puted to the nearestpoint of the catch object. If you draw this base, she smooths aound the objet, who layes under the cursor. |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | Paint calls the tree method BeginPaint, DoPaint and EndPaint. The Method is allways called, when the WinControl should be painted. |
![]() | |
![]() | Pops a tag, which was pushed with pushTag |
![]() | |
![]() | Pushes a Tag to a Tag-stack. If the mouse hits a drawelement the last tag is set into the HitItem. You can get it from the HitItemlist
|
![]() | Refreshes the device |
![]() | |
![]() | Removes a Light from the list Lights. Its the same as Lights.Remove(Light); |
![]() | Clears the HitItemlist and searches those draw elements, who lay in the near to the point p. Near means, that the distance to p is less then CatchDistance The method calls the Paintmethod of the device with RenderMode = RenderMode.Select. |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | Overloaded. Calulates the screencoordinates of a 3d-Point p. |
![]() | |
![]() | This protected method is called, if some changes are made. Some times on should inform other components about this changes to obtain a consisting system. |
![]() | If you make some changing in the component you should call first UpDating() ..Change some things UpDated() In this case the method Refresh will be called only one time. Internal a counter will be incremented for UpDating and decremented by UpDated. If he is 0 then Refresh is called. |
![]() | If you make some changing in the component you should call first UpDating() ..Change some things UpDated() In this case the method Refresh will be called only one time. Internal a counter will be incremented for UpDating and decremented by UpDated. If he is 0 then Refresh is called. |
![]() | |
![]() | |
![]() | |
![]() | The event will be call by the MouseDown-method |
![]() | The event will be call by the MouseMove-method |
![]() | The event will be call by the MouseUp-method |
![]() | The Event OnPaint is called from DoPaint. |
![]() | |
![]() |
![]() | Overrides this method and moves the new Viewport to the OpenGl-engine |
![]() | DoPaint calls at first the paintmetod of the Root, the the paintmethod of the Work and finally the OnPaint-event. |
![]() | The last call in the Paint-method is EndPaint. It fire the SwapBuffers-method |
![]() | The Destructor sets the WinControl null. |
![]() | |
![]() | |
![]() | protected getMethod for the ModelMatrix-property. |
![]() | protected getmethod of the ProjectionBase-property. |
![]() | GetMethod of the ProjectionMatrix. |
![]() | Virtual getmethod of the property TextureMatrix |
![]() | Getmethod of the WorldHeight-property |
![]() | GetMethod of the property WorldWidth |
![]() | Overrides the IsReady-method and checks, wheter the OglContext is current or not. |
![]() | |
![]() | |
![]() | |
![]() | Overrides the LineStrip-method and implements them in terms of OpenGL |
![]() | |
![]() | The device gets the MouseDown - event from the WinControl. |
![]() | The device gets the MouseMove - event from the WinControl. |
![]() | The device gets the MouseUp - event from the WinControl. |
![]() | Overrides the newLight-method and returns a OglLight. |
![]() | |
![]() | |
![]() | |
![]() | Overrides the setFontName-method. If no font with that name is loaded, the displaylists will be generated for all characters. This ensures that a drawText-method, can play the text as displaylists. |
![]() | |
![]() | Overrides the SetLighting-method by calling OpenGL-methods |
![]() | Overrides the setModelMatrix-method and implements this with Opengl-calls. |
![]() | Virtual set-Method of the property Parent. |
![]() | |
![]() | |
![]() | protected setmethod of the ProjectionBase-property. |
![]() | Overrides the setProjectionMatrix-method and implements this with Opengl-calls. |
![]() | Overrides the setTexture-method to implement OpenGlCalls. |
![]() | Overrides the SetTextureMatrix-method and implements this with Opengl-calls. |
![]() | |
![]() | |
![]() | Setmethod of the property Zoomfactor |
![]() | If the size of the WinControl was changed then this method is called. |
![]() | Overrides the SolidConvex-method and draws it in terms from OpenGl. |
![]() | Overrides the UpDateMaterial-method and moves the materialproperties to the OpenGL-engine |
![]() | Overrides ValidHandleCreated and initialize some properties for the usage of OpenGl |
![]() | If the Handle of the WinControl is destructed or WinControl is set to null the ValidHandleDestructed will be called. This is a good moment to reset some created things. |