Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/agens-no/aggeometrykit-pop
Bridging AGGeometryKit with POP for amazing dynamics and animations.
https://github.com/agens-no/aggeometrykit-pop
Last synced: 6 days ago
JSON representation
Bridging AGGeometryKit with POP for amazing dynamics and animations.
- Host: GitHub
- URL: https://github.com/agens-no/aggeometrykit-pop
- Owner: agens-no
- License: other
- Created: 2014-05-13T12:34:58.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-01-21T13:14:13.000Z (almost 6 years ago)
- Last Synced: 2024-03-27T01:18:20.203Z (9 months ago)
- Language: Objective-C
- Homepage:
- Size: 10.4 MB
- Stars: 1,269
- Watchers: 50
- Forks: 124
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![AGGeometryKit](/logo.png?raw=true "AGGeometryKit")
Bridging [AGGeometryKit](https://github.com/hfossli/AGGeometryKit) with [POP](https://github.com/facebook/pop) for amazing dynamics and animations.
See [this interesting video](https://vimeo.com/93206523) about animation principles by Cento Lodigiani. If you like what you see and want to mimic step #1 and #5 - then this kit is here to help you.
![Demo video](/drag-around.gif)
### Installation
New-school: Use the cocoa pod named `AGGeometryKit+POP`.
Old-school: Grab the files found in `Source`.## Demo
[![Demo video](/video-aggeometrykit-pop.png)](https://vimeo.com/95383807)
[See the video on vimeo ](https://vimeo.com/95383807)## Technology
It does not rely on snapshotting view hierarchy at all. Whenever you update the property `quadrilateral` (defined in [AGGeometryKit](https://github.com/hfossli/AGGeometryKit)) on the `CALayer` you are actually just applying a new `CATransform3D`. This can be done on any view whether it is an interactive UIWebView or just a plain UIImageView. This is totally cost-free! :)
## Interface
Animate each corner independently using these new POPAnimatableProperty's.
```objc
extern NSString * const kPOPLayerAGKQuadTopLeft;
extern NSString * const kPOPLayerAGKQuadTopLeftX;
extern NSString * const kPOPLayerAGKQuadTopLeftY;extern NSString * const kPOPLayerAGKQuadTopRight;
extern NSString * const kPOPLayerAGKQuadTopRightX;
extern NSString * const kPOPLayerAGKQuadTopRightY;extern NSString * const kPOPLayerAGKQuadBottomLeft;
extern NSString * const kPOPLayerAGKQuadBottomLeftX;
extern NSString * const kPOPLayerAGKQuadBottomLeftY;extern NSString * const kPOPLayerAGKQuadBottomRight;
extern NSString * const kPOPLayerAGKQuadBottomRightX;
extern NSString * const kPOPLayerAGKQuadBottomRightY;@interface POPAnimatableProperty (AGK_POP)
+ (instancetype)AGKPropertyWithName:(NSString *)aName;
@end
```## Keywords
Convex quadrilateral, simple quadrilateral, tangential, kite, rhombus, square, trapezium, trapezoid, parallelogram, bicentric, cyclic, POP, facebook, animation, dynamics, simulation
## Debugging
Please see the [Debugging](https://github.com/hfossli/AGGeometryKit/blob/master/README.md#debugging-quadrilaterals) section over at the [AGGeometryKit](https://github.com/hfossli/AGGeometryKit) repo.
## Contact
You can reach me on twitter as [@hfossli](https://twitter.com/hfossli).
## Who's behind this?
Agens.no a company situated in Oslo, Norway, with some help from some very clever stackoverflow.com guys.
[](http://agens.no/)