Obj viewer
Author: f | 2025-04-23
OBJ Viewer. OBJ Viewer is a simple tool to view files in the .OBJ format on Mac OS X. Caveat. OBJ Viewer is currently incomplete, and does not support some commonly-used (and not-so-commonly-used) features of the .OBJ file format: . OBJ
Obj Viewer - Free Obj Viewer and Analyzer
Our data in the Properties view.Create a new plug-in project de.vogella.plugin.adapter.Add the following dependencies in the dependencies tab of the MANIFEST.MF file:org.eclipse.core.runtimeorg.eclipse.e4.ui.model.workbenchorg.eclipse.e4.ui.servicesorg.eclipse.e4.ui.workbenchorg.eclipse.uiorg.eclipse.ui.viewsCreate the following Task class as data model.package de.vogella.plugin.adapter.model;public class Task { private String summary; private String description; private boolean done; public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public boolean isDone() { return done; } public void setDone(boolean done) { this.done = done; }}Create a model fragment (fragment.e4xmi) and add a PartDescriptor called Sample View.Create SampleView.java as part for the PartDescriptor implementation.package de.vogella.plugin.adapter.views;import java.util.ArrayList;import java.util.List;import jakarta.annotation.PostConstruct;import org.eclipse.e4.ui.workbench.modeling.ESelectionService;import org.eclipse.jface.viewers.ArrayContentProvider;import org.eclipse.jface.viewers.ISelectionChangedListener;import org.eclipse.jface.viewers.ITableLabelProvider;import org.eclipse.jface.viewers.LabelProvider;import org.eclipse.jface.viewers.SelectionChangedEvent;import org.eclipse.jface.viewers.TableViewer;import org.eclipse.swt.SWT;import org.eclipse.swt.graphics.Image;import org.eclipse.swt.widgets.Composite;import org.eclipse.ui.ISharedImages;import org.eclipse.ui.PlatformUI;import de.vogella.plugin.adapter.model.Todo;public class SampleView { private TableViewer viewer; class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { public String getColumnText(Object obj, int index) { Todo todo = (Todo) obj; return todo.getSummary(); } public Image getColumnImage(Object obj, int index) { return getImage(obj); } public Image getImage(Object obj) { return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); } } /** * This is a callback that will allow us to create the viewer and initialize * it. */ @PostConstruct public void createPartControl(Composite parent, ESelectionService selectionService) { viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new ViewLabelProvider()); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { selectionService.setSelection(event.getSelection()); } }); viewer.setInput(getElements()); } // Build up a simple data model private ListTodo> getElements() { ListTodo> todos = new ArrayList(); Todo todo = new Todo(); todo.setSummary("First Todo"); todo.setDescription("A OBJ Viewer. OBJ Viewer is a simple tool to view files in the .OBJ format on Mac OS X. Caveat. OBJ Viewer is currently incomplete, and does not support some commonly-used (and not-so-commonly-used) features of the .OBJ file format: . OBJ OBJ Viewer. OBJ Viewer is a simple tool to view files in the .OBJ format on Mac OS X. Caveat. OBJ Viewer is currently incomplete, and does not support some commonly-used (and not-so-commonly-used) features of the .OBJ file format: . OBJ Viewer; private Action action1; private Action action2; private Action doubleClickAction; class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { @Override public String getColumnText(Object obj, int index) { return getText(obj); } @Override public Image getColumnImage(Object obj, int index) { return getImage(obj); } @Override public Image getImage(Object obj) { return workbench.getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); } } @PostConstruct public void createPartControl(Composite parent) { viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setInput(new String[] { "One", "Two", "Three" }); viewer.setLabelProvider(new ViewLabelProvider()); // Create the help context id for the viewer's control workbench.getHelpSystem().setHelp(viewer.getControl(), "com.vogella.ide.e4view.viewer"); makeActions(); hookContextMenu(); hookDoubleClickAction(); } private void hookContextMenu() { MenuManager menuMgr = new MenuManager("#PopupMenu"); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { SampleView.this.fillContextMenu(manager); } }); Menu menu = menuMgr.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); } private void fillContextMenu(IMenuManager manager) { manager.add(action1); manager.add(action2); // Other plug-ins can contribute there actions here manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } private void makeActions() { action1 = new Action() { @Override public void run() { showMessage("Action 1 executed"); } }; action1.setText("Action 1"); action1.setToolTipText("Action 1 tooltip"); action1.setImageDescriptor(workbench.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); action2 = new Action() { @Override public void run() { showMessage("Action 2 executed"); } }; action2.setText("Action 2"); action2.setToolTipText("Action 2 tooltip"); action2.setImageDescriptor(workbench.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); doubleClickAction = new Action() { @Override public void run() { IStructuredSelection selection = viewer.getStructuredSelection(); Object obj = selection.getFirstElement(); showMessage("Double-click detected on " + obj.toString()); } }; } private void hookDoubleClickAction() { viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { doubleClickAction.run(); } }); } private void showMessage(String message) { MessageDialog.openInformation(viewer.getControl().getShell(), "e4view View", message); } @Focus public void setFocus() { viewer.getControl().setFocus(); }}If you now start this plug-in and openComments
Our data in the Properties view.Create a new plug-in project de.vogella.plugin.adapter.Add the following dependencies in the dependencies tab of the MANIFEST.MF file:org.eclipse.core.runtimeorg.eclipse.e4.ui.model.workbenchorg.eclipse.e4.ui.servicesorg.eclipse.e4.ui.workbenchorg.eclipse.uiorg.eclipse.ui.viewsCreate the following Task class as data model.package de.vogella.plugin.adapter.model;public class Task { private String summary; private String description; private boolean done; public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public boolean isDone() { return done; } public void setDone(boolean done) { this.done = done; }}Create a model fragment (fragment.e4xmi) and add a PartDescriptor called Sample View.Create SampleView.java as part for the PartDescriptor implementation.package de.vogella.plugin.adapter.views;import java.util.ArrayList;import java.util.List;import jakarta.annotation.PostConstruct;import org.eclipse.e4.ui.workbench.modeling.ESelectionService;import org.eclipse.jface.viewers.ArrayContentProvider;import org.eclipse.jface.viewers.ISelectionChangedListener;import org.eclipse.jface.viewers.ITableLabelProvider;import org.eclipse.jface.viewers.LabelProvider;import org.eclipse.jface.viewers.SelectionChangedEvent;import org.eclipse.jface.viewers.TableViewer;import org.eclipse.swt.SWT;import org.eclipse.swt.graphics.Image;import org.eclipse.swt.widgets.Composite;import org.eclipse.ui.ISharedImages;import org.eclipse.ui.PlatformUI;import de.vogella.plugin.adapter.model.Todo;public class SampleView { private TableViewer viewer; class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { public String getColumnText(Object obj, int index) { Todo todo = (Todo) obj; return todo.getSummary(); } public Image getColumnImage(Object obj, int index) { return getImage(obj); } public Image getImage(Object obj) { return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); } } /** * This is a callback that will allow us to create the viewer and initialize * it. */ @PostConstruct public void createPartControl(Composite parent, ESelectionService selectionService) { viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new ViewLabelProvider()); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { selectionService.setSelection(event.getSelection()); } }); viewer.setInput(getElements()); } // Build up a simple data model private ListTodo> getElements() { ListTodo> todos = new ArrayList(); Todo todo = new Todo(); todo.setSummary("First Todo"); todo.setDescription("A
2025-04-19Viewer; private Action action1; private Action action2; private Action doubleClickAction; class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { @Override public String getColumnText(Object obj, int index) { return getText(obj); } @Override public Image getColumnImage(Object obj, int index) { return getImage(obj); } @Override public Image getImage(Object obj) { return workbench.getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT); } } @PostConstruct public void createPartControl(Composite parent) { viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setInput(new String[] { "One", "Two", "Three" }); viewer.setLabelProvider(new ViewLabelProvider()); // Create the help context id for the viewer's control workbench.getHelpSystem().setHelp(viewer.getControl(), "com.vogella.ide.e4view.viewer"); makeActions(); hookContextMenu(); hookDoubleClickAction(); } private void hookContextMenu() { MenuManager menuMgr = new MenuManager("#PopupMenu"); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { SampleView.this.fillContextMenu(manager); } }); Menu menu = menuMgr.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); } private void fillContextMenu(IMenuManager manager) { manager.add(action1); manager.add(action2); // Other plug-ins can contribute there actions here manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } private void makeActions() { action1 = new Action() { @Override public void run() { showMessage("Action 1 executed"); } }; action1.setText("Action 1"); action1.setToolTipText("Action 1 tooltip"); action1.setImageDescriptor(workbench.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); action2 = new Action() { @Override public void run() { showMessage("Action 2 executed"); } }; action2.setText("Action 2"); action2.setToolTipText("Action 2 tooltip"); action2.setImageDescriptor(workbench.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); doubleClickAction = new Action() { @Override public void run() { IStructuredSelection selection = viewer.getStructuredSelection(); Object obj = selection.getFirstElement(); showMessage("Double-click detected on " + obj.toString()); } }; } private void hookDoubleClickAction() { viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { doubleClickAction.run(); } }); } private void showMessage(String message) { MessageDialog.openInformation(viewer.getControl().getShell(), "e4view View", message); } @Focus public void setFocus() { viewer.getControl().setFocus(); }}If you now start this plug-in and open
2025-04-03Here are 76 public repositories matching this topic... Code Issues Pull requests Discussions Easily display interactive 3D models on the web and in AR! Updated Feb 24, 2025 TypeScript Code Issues Pull requests Discussions Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer). Updated Mar 16, 2024 C++ Code Issues Pull requests 整合了 google-model-viewer/WebGL/Three.js/WASM 等一系列 3D 模型(STL/OBJ/GLTF/PLY/STEP/X_T)预览工具,便捷地进行模型预览、生成截图、计算拓扑信息。支持 Blender 进行模型压缩优化,提供了基于 Web 的简单 CAD 在线排版操作。 Updated Mar 7, 2023 JavaScript Code Issues Pull requests A 3D model viewer written C++20 and Vulkan Updated Dec 11, 2021 C++ Code Issues Pull requests The most complete Flutter package for rendering interactive 3D models in various formats (GLB, GLTF, OBJ, FBX), with the ability to control animations, textures, camera, and more. Updated Mar 10, 2025 Dart Code Issues Pull requests Discussions Model viewer and command-line tools for extracting models from various GCN/3DS/PC games en-masse. Updated Mar 11, 2025 C# Code Issues Pull requests Viewer for many 3D and 2D model formats: glTF, X3D, VRML, Collada, 3DS, MD3, Wavefront OBJ, STL, Spine JSON, sprite sheets in Cocos2D and Starling XML formats Updated Feb 20, 2025 Pascal Code Issues Pull requests WoW model viewer fork / re-write. Updated Feb 28, 2025 C++ Code Issues Pull requests Psk/pskx/psa (ActorX) model viewer made with wxWidgets UI. Updated Feb 29, 2020 C++ Code Issues Pull requests 🌐🏠 A Web Component for visualizing Minecraft schematics Updated Mar 14, 2023 JavaScript Code Issues Pull requests Flutter 3D Model Viewer with BabylonJS Viewer Updated Feb 27, 2024 Dart Code Issues Pull requests A room / level viewer for Alone in The Dark series Updated Feb 28, 2025 C# Code Issues Pull requests like , but for .vox-models Updated Mar 8, 2025 JavaScript Code Issues Pull requests sample with support for AR Updated Jun 16, 2019 HTML Code Issues Pull requests OpenGL Model Viewer Updated Mar 12, 2025 C++ Code Issues Pull requests An easy to use bridge between your 3D models on desktop and 3D viewer in your mobile + View in AR. Updated Dec 11, 2020 JavaScript Code Issues Pull requests Web Portal for BIM project collaboration Updated Aug 30, 2018 PHP Code Issues Pull requests Tools for working with Retro game formats. Currently only supports Metroid Prime Remastered. Updated May 2, 2024 Rust Code Issues Pull requests Updated Aug 19, 2022 JavaScript Code Issues Pull requests An example of the project from Google Updated Apr 16, 2022 HTML --> Improve
2025-03-26License: All 1 2 | Free JagoClient is a SGF (Smart Go Format) and XML go game viewer to edit and store Go games, an IGS client to play on any IGS compatible Go server, a point to point go player to play against other players without any server, and a GMP (Go Modem Protocol) JagoClient is a SGF (Smart Go Format) and XML go game Viewer to edit and store Go games, an Igs client to play on any Igs compatible Go server, a point to point go player to play against other players without any server, and a GMP (Go Modem Protocol) client to play against computer Go programs. The program has been written in Java, which means it is available on all... Category: Games / Tools & EditorsPublisher: Rene Grothmann, License: Freeware, Price: USD $0.00, File Size: 2.6 MBPlatform: Windows STP Viewer is a professional software to work with 3D files. It supports STP/STEP, IGS/IGES, STL, OBJ, SAT, BREP, DWG, DXF, etc. The software has a dynamic 3D section tool, measuring tools and allows to convert 3D files to different formats. STP Viewer is a professional software to work with 3D file formats. In addition to STP/STEP, it supports more than twenty popular 3D formats, including Igs/IGES, SAT, STL, OBJ, BREP. The Viewer has different visual styles and all necessary tools to interrogate 3D models. The panel Structure shows the file content and properties of the selected object: its overall... Category: Multimedia & Design / Authoring ToolsPublisher: CADSoftTools, License: Shareware, Price: USD $66.00, File Size: 49.3 MBPlatform: Windows PANDA-glGo is a 3D and 2D Goban, game viewer and editor, client for IGS-PandaNet and interface for GNU Go. PANDA-glGo is a 3D and 2D Goban, game Viewer and editor, client for Igs-PandaNet and interface for GNU Go. Main
2025-04-23SimLab Obj Exporter From Google SketchUp 8.0DownloadSimLab OBJ from Google SketchUp plugin, enables the user to export OBJ filesYour vote:Latest version:2.4See allDeveloper:SimLab SoftReviewDownloadComments Questions & Answers 1 / 1Shareware All versionsSimLab Obj Exporter From Google SketchUp 2.4 (latest)DownloadEdit program infoInfo updated on:Nov 02, 2024Software InformerDownload popular programs, drivers and latest updates easilySimLab OBJ from Google SketchUp plugin, enables the user to export OBJ files from SketchUp. The plugin exports geometries, colors, normals, textures, and texture coordinatesThe plug-in is supported on the Windows version of SketchUp 8, 7.1, and 7. Contact [email protected] for detailsShare your experience:Write a review about this program Comments Your vote:Notify me about replies Comment viaFacebookRelated software Google SketchUp Pro ketchUp Pro is 3D modeling software for professionals.Google SketchUp Viewer Standalone applicationiClone 3DXchange With iClone 3DXchange we can import and transform 3D elements.Qu-Bot Visual Lab FreeVisual Programming software for Qu-Bot.eDrawings for SketchUp eDrawings for Google SketchUp provides an innovative way to share your designs.Related storiesSee allNow Google is a monopolist. What are the alternatives?Spotlight: File Explorer in Windows 11Google rolls out three new security featuresGoogle and Anthropic build AI to work in programs for humansUsers are downloadingDesignSpark MechanicalMakerWareSimLab SketchUp exporter for 3ds MaxSimLab OBJ Importer for SketchUpSimLab SKP Exporter for RevitOctaneRender Demo for SketchUp
2025-04-08PDF ViewerThe ASP.NET MVC PDF Viewer control supports viewing, reviewing, and printing PDF files in ASP.NET MVC applications. The hyperlink and table of contents support provides easy navigation within and outside the PDF files. The form-filling support provides a platform to fill, flatten, save, and print PDF files with AcroForm. PDF files can be reviewed with text markup annotation tools.Integrating Digital SignatureCurrently, PDF viewer does not support Digital Signature, but you can integrate Digital Signature in the PDF viewer control. The following code illustrates how to upload the PdfCertificate(.pfx) file on the ‘PageClick’ event of the PDF viewer and send the uploaded file to the Server side using Ajax request.JavaScript var xPos= null; var yPos= null; var jsonResult = new Object(); document.getElementById('fileUpload').addEventListener('change', readFile, false); // Uploads the digital signature function readFile(evt) { var upoadedFiles = evt.target.files; var uploadedFile = upoadedFiles[0]; var reader = new FileReader(); reader.readAsDataURL(uploadedFile); reader.onload = function () { //Sends the uploaded data as base64 string, X-Coordinate, Y-Coordinate and Page Number to the sever side using the Ajax request var obj = $("#pdfviewer").data("ejPdfViewer"); var uploadedFileUrl = this.result; jsonResult["pageNum"] = obj._currentPage; jsonResult["sign"] = (this.result).split(",")[1]; jsonResult["xPos"] = xPos; jsonResult["yPos"] = yPos; jsonResult["id"] = obj._fileId; $.ajax({ url: '../api/PdfViewer/SignatureDownload', method: 'POST', crossDomain: true, contentType: 'application/json; charset=utf-8', dataType: 'json', data: JSON.stringify(jsonResult), traditional: true, success: function (data) { alert(data); }, error: function (jqXHR, textStatus) { alert("Request failed: " + textStatus); } }); } } $(function () { //Hooks the pageClick event to the PDF Viewer var _ejPdfViewer = $("#pdfviewer").data("ejPdfViewer"); _ejPdfViewer.model.pageClick = "pageClicked"; }); function pageClicked(sender) { xPos = sender.XCoordinate; yPos = sender.YCoordinate; var _ejPdfViewer = $("#pdfviewer").data("ejPdfViewer"); $('#fileUpload').click(); } The following code illustrates how to integrate the uploaded Digital Signature file with the PDF document.C#public object SignatureDownload(Dictionary jsonResult) { PdfViewerHelper helper = new PdfViewerHelper(); object pdfData = (object)helper.GetDocumentData(jsonResult); //Gets the X Coordinate, Y coordinate and Page number from the Json data var x = JsonConvert.DeserializeObject(jsonResult["xPos"]); var y = JsonConvert.DeserializeObject(jsonResult["yPos"]); var pageNum = JsonConvert.DeserializeObject(jsonResult["pageNum"]); byte[] byteArray = Convert.FromBase64String(jsonResult["sign"]); MemoryStream stream = new MemoryStream(byteArray); //storing the .pfx file locally. File.WriteAllBytes(HttpContext.Current.Server.MapPath("~/Data/PDFsign.pfx"), byteArray); //Get the document stream as base64 string var propertyInfo = pdfData.GetType().GetProperty("documentStream"); string value = propertyInfo.GetValue(pdfData, null).ToString(); byte[] byteContents = Convert.FromBase64String(value); MemoryStream memoryStreams = new MemoryStream(byteContents); //load the document again for including the signature. PdfLoadedDocument pdfldoc = new PdfLoadedDocument(memoryStreams); PdfLoadedPage page = pdfldoc.Pages[(int)pageNum-1] as PdfLoadedPage; PdfSignatureField signatureField = new PdfSignatureField(page, "SignatureField"); //Adding bounds for the signature field. signatureField.Bounds = new RectangleF((float)x, (float)y, 100, 100); signatureField.Signature = new
2025-03-29