Often, i also want to search the source code for some specific "notion", in the present case it is threejs
, and the following search request may be helpful (or at least the begin of search path...)
search_src('threejs')
(Note that sage provides also search_doc
and search_def
...)
Then a long list of case insensitive occurences for the string threejs
is given. Sometimes we get lines involving threejs
as a substing of the name of a function or method, sometimes as part of a doc string, sometimes as the name of the viewer, sometimes a substring of a file path, et caetera...
At any rate, the corresponding mentioned modules have some (name) connection with threejs
...
Note:
To have a first impression of what is delivered, here are the first few lines from the output:
sage: search_src('threejs')
env.py:193:var('THREEJS_DIR', join(SAGE_SHARE, 'threejs'))
repl/rich_output/backend_ipython.py:195: OutputSceneJmol, OutputSceneWavefront, OutputSceneThreejs,
repl/rich_output/backend_ipython.py:273: elif isinstance(rich_output, OutputSceneThreejs):
repl/rich_output/backend_ipython.py:400: def threejs_offline_scripts(self):
repl/rich_output/backend_ipython.py:412: sage: backend.threejs_offline_scripts()
repl/rich_output/backend_ipython.py:415: from sage.env import THREEJS_DIR
repl/rich_output/backend_ipython.py:418: os.path.join(THREEJS_DIR, script)
repl/rich_output/backend_ipython.py:503: OutputSceneJmol, OutputSceneThreejs,
repl/rich_output/backend_ipython.py:579: elif isinstance(rich_output, OutputSceneThreejs):
repl/rich_output/backend_ipython.py:592: def threejs_offline_scripts(self):
repl/rich_output/backend_ipython.py:604: sage: backend.threejs_offline_scripts()
repl/rich_output/backend_ipython.py:605: '...<script src="/nbextensions/threejs/build/three.min...<\\/script>...'
repl/rich_output/backend_ipython.py:608: CDN_scripts = get_display_manager().threejs_scripts(online=True)
repl/rich_output/backend_ipython.py:610:<script src="/nbextensions/threejs/build/three.min.js"></script>
repl/rich_output/backend_ipython.py:611:<script src="/nbextensions/threejs/examples/js/controls/OrbitControls.js"></script>
repl/rich_output/output_graphics3d.py:172:class OutputSceneThreejs(OutputBase):
repl/rich_output/output_graphics3d.py:184: sage: from sage.repl.rich_output.output_catalog import OutputSceneThreejs
repl/rich_output/output_graphics3d.py:185: sage: OutputSceneThreejs('<html></html>')
repl/rich_output/output_graphics3d.py:186: OutputSceneThreejs container
repl/rich_output/display_manager.py:718: def threejs_scripts(self, online):
repl/rich_output/display_manager.py:739: sage: get_display_manager().threejs_scripts(online=True)
repl/rich_output/display_manager.py:741: sage: get_display_manager().threejs_scripts(online=False)
repl/rich_output/display_manager.py:745: offline threejs graphics
repl/rich_output/display_manager.py:749: with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.min.js')) as f:
and so on... Any extension of the today graphical features is welcome!