Giter VIP home page Giter VIP logo

archarts's Introduction

ARCharts

Build Status Version License Platform

ARCharts is a library making it easy to create beautiful charts tailored for augmented reality.

Table of Contents

Project Details

Demo Gif
1 2 3 4 5

Requirements

  • Requires iOS 11 or later
  • Optimized for A9 and A10 processors (ARKit)

License

See the License. You are free to make changes and use this in either personal or commercial projects. Attribution is not required, but highly appreciated. A little "Thanks!" (or something to that affect) is always welcome. If you use ARCharts in your app, please let us know!

Sample App

The iOS Sample App included in this projects demonstrates one way of setting up and using ARCharts. Give it a try to see what can be accomplished!

Getting Started

Installation

There are three different ways of adding ARCharts to your project.

CocoaPods

Cocoapods is a dependency manager for Swift and Objective-C. To install ARCharts with CocoaPods, simply add the following line to your pod file:

pod 'ARCharts'

Carthage

Carthage support is coming soon.

Manual

You can always install ARCharts manually by dragging the ARCharts folder into your XCode project. When you do so, make sure to check the "Copy items into destination group's folder" box.

Setup

ARCharts is a simple SCNNode subclass. That makes it very easy to use in your project!

archarts's People

Contributors

boris-em avatar charlymr avatar chrischute avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

archarts's Issues

Title for every bar in ARChart

There should be an optional/compulsory functionality where you could label every bar in Bar chart. So that the specific value can be shown on top of every bar node.

Interworking with Obj-C app - 80% of methods not available

Hey,

I've been trying to integrate this library with some obj-c code; and I am stuck a bit. It seems like auto-generated file from Xcode has only very limited method set for each class:
`SWIFT_MODULE_NAMESPACE_PUSH("ARCharts")
@Class NSCoder;

SWIFT_CLASS("_TtC8ARCharts10ARBarChart")
@interface ARBarChart : SCNNode
@Property (nonatomic) double animationDuration;

  • (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
  • (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  • (void)reloadGraph;
    /// Render the chart in the SCNView.
  • (void)draw;
    /// Remove any highlighting currently active on this chart.
  • (void)unhighlight;
    @end`

I compiled the Swift code; and played around - it seems like the problem is Delegate pattern - adding @objc flag to public method leads to an error:

screen shot 2017-12-23 at 14 03 50

And then of course the method is not supported:
screen shot 2017-12-23 at 14 04 10

Does anybody tried to connect the library to obj-c code?

Initializer for conditional binding must have Optional type, not 'SCNAction'

Having trouble with 'SCNAction' and its bindings.

private func pulseAction() -> SCNAction? {
		let pulseOutAction = SCNAction.fadeOpacity(to: 0.4, duration: 0.5)
		let pulseInAction = SCNAction.fadeOpacity(to: 1.0, duration: 0.5)
		pulseOutAction.timingMode = .easeInEaseOut
		pulseInAction.timingMode = .easeInEaseOut
		
        if let sequence = SCNAction.sequence([pulseOutAction, pulseInAction]) {
            return SCNAction.repeatForever(sequence) 

Value for Bar

Hi guys
And thank you @Boris-Em for the amazing works !
Anyway I have a problem ( seems very easy but I can't understand how to do it )...
I would like to show the bar value over or near the bar
I've found this method

private func addLabel(forIndex index: Int, atXPosition xPosition: Float, withMaxHeight maxHeight: Float)

but I can't use it.

Does anyone have an example code on how and where to use this method?

Thanks in advance

and excuse me for my terrible English

Vanni

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.