FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
mathplot/examples/graph1.cpp at main · sebsjames/mathplot · GitHub
sebsjames
/
mathplot
Public
Notifications
You must be signed in to change notification settings
Fork
13
Star
64
Code
Issues
31
Pull requests
4
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
mathplot
/
examples
/
graph1.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
28 lines (27 loc) · 1.36 KB
Breadcrumbs
mathplot
/
examples
/
graph1.cpp
Copy path
File metadata and controls
28 lines (27 loc) · 1.36 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//
Visualize a graph. Minimal example showing how a default graph appears
#
include
<
memory
>
import
mplot.visual;
import
mplot.graphvisual;
//
exports sm.vvec and sm.vec
int
main
()
{
//
Set up a mplot::Visual 'scene environment'.
mplot::Visual
v
(
1024
,
768
,
"
Made with mplot::GraphVisual
"
);
//
Create a GraphVisual object (obtaining a unique_ptr to the object) with a spatial offset within the scene of 0,0,0
auto
gv = std::make_unique<mplot::GraphVisual<
double
>> (sm::vec<
float
>({
0
,
0
,
0
}));
//
This mandatory line of boilerplate code sets the parent pointer in GraphVisual and binds some functions
gv->
set_parent
(v.
get_id
());
//
Data for the x axis. A vvec is like std::vector, but with built-in maths methods
sm::vvec<
double
> x;
//
This works like numpy's linspace() (the 3 args are "start", "end" and "num"):
x.
linspace
(-
0.5
,
0.8
,
14
);
//
Set a graph up of y = x^3
gv->
setdata
(x, x.
pow
(
3
));
//
finalize() makes the GraphVisual compute the vertices of the OpenGL model
gv->
finalize
();
//
Add the GraphVisual OpenGL model to the Visual scene, transferring ownership of the unique_ptr
v.
addVisualModel
(gv);
//
Render the scene on the screen until user quits with 'Ctrl-q'
v.
keepOpen
();
//
Because v owns the unique_ptr to the GraphVisual, its memory will be deallocated when v goes out of scope.
return
0
;
}
Back
|
FazBrowse Home
|
New Git URL