hannesa2 / Panoramagl
Licence: apache-2.0
PanoramaGL Android
Stars: ✭ 111
Programming Languages
java
68154 projects - #9 most used programming language
Labels
Projects that are alternatives of or similar to Panoramagl
Mole
CLI application to create ssh tunnels focused on resiliency and user experience.
Stars: ✭ 1,520 (+1269.37%)
Mutual labels: hacktoberfest
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+1378.38%)
Mutual labels: hacktoberfest
Action policy Graphql
Action Policy integration for GraphQL
Stars: ✭ 110 (-0.9%)
Mutual labels: hacktoberfest
Foreman Ansible Modules
Ansible modules for interacting with the Foreman API and various plugin APIs such as Katello
Stars: ✭ 109 (-1.8%)
Mutual labels: hacktoberfest
Spotify Playlist Archive
Daily snapshots of public Spotify playlists
Stars: ✭ 111 (+0%)
Mutual labels: hacktoberfest
Viewers
The OHIF Medical Imaging Viewer is for viewing medical images. It can retrieve
and load images from most sources and formats; render sets in 2D, 3D, and
reconstructed representations; allows for the manipulation, annotation, and
serialization of observations; supports internationalization, OpenID Connect,
offline use, hotkeys, and many more features.
Stars: ✭ 1,753 (+1479.28%)
Mutual labels: hacktoberfest
Nodejs.dev
A new Node.js resource built using Gatsby.js with React.js, TypeScript, and Remark.
Stars: ✭ 1,794 (+1516.22%)
Mutual labels: hacktoberfest
Vscode abap remote fs
Remote filesystem for ABAP systems
Stars: ✭ 111 (+0%)
Mutual labels: hacktoberfest
Fuego
Fuego is a command line client for the firestore database (https://firebase.google.com/docs/firestore).
Stars: ✭ 110 (-0.9%)
Mutual labels: hacktoberfest
Presently
Android app for recording gratitude journal entries
Stars: ✭ 109 (-1.8%)
Mutual labels: hacktoberfest
Floki
Floki is a simple HTML parser that enables search for nodes using CSS selectors.
Stars: ✭ 1,642 (+1379.28%)
Mutual labels: hacktoberfest
Omegaup
omegaUp automatic programming contest evaluator & arena
Stars: ✭ 110 (-0.9%)
Mutual labels: hacktoberfest
Emacs Doom Themes
A megapack of themes for GNU Emacs.
Stars: ✭ 1,706 (+1436.94%)
Mutual labels: hacktoberfest
PanoramaGL Android
PanoramaGL library was the first open source library in the world to see panoramic views on Android. This is a gradle build adaptation, along with other changes and updates. I am evolving the library to something easy to use any help is welcome.
The supported features are:
- OpenGL ES 1.0 and 1.1.
- Support for spherical, cubic and cylindrical panoramic images.
- Scrolling and continuous scrolling.
- Inertia to stop continuous scrolling.
- Zoom in and zoom out (moving two fingers on the screen).
- Reset (placing three fingers on the screen or shaking the device).
- Scrolling left to right and from top to bottom using the accelerometer.
- Sensorial rotation (Only compatible for devices with Gyroscope or Accelerometer and Magnetometer).
- Full control of camera including field of view, zoom, rotation, rotation range, animations, etc.
- Hotspots with commands.
- Simple JSON protocol.
- Creation of virtual tours using the JSON protocol or with programming.
- Transitions between panoramas.
- Support for events.
Usage
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.hannesa2:panoramagl:$latestVersion'
}
Create a PLManager
object and add the bindings to the activity lifecycle methods:
private PLManager plManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
plManager = new PLManager(this);
plManager.onCreate();
}
@Override
protected void onResume() {
super.onResume();
plManager.onResume();
}
@Override
protected void onPause() {
plManager.onPause();
super.onPause();
}
@Override
protected void onDestroy() {
plManager.onDestroy();
super.onDestroy();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return plManager.onTouchEvent(event);
}
Next set the view, before calling plManager.onCreate
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
plManager = new PLManager(this);
plManager.setContentView(R.layout.activity_main);
plManager.onCreate();
}
Finally add the panorama you want, for example;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
plManager = new PLManager(this);
plManager.setContentView(R.layout.activity_main);
plManager.onCreate();
PLSphericalPanorama panorama = new PLSphericalPanorama();
panorama.getCamera().lookAt(30.0f, 90.0f);
panorama.setImage(new PLImage(PLUtils.getBitmap(this, R.raw.sighisoara_sphere), false));
plManager.setPanorama(panorama);
}
ToDo
- Separate View, ViewController, TouchController and SensorController
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].