mirror of
https://github.com/workinghard/Cube4Fun.git
synced 2025-12-14 04:42:09 +00:00
a
This commit is contained in:
@@ -60,10 +60,24 @@ class Animations: NSObject {
|
||||
return _animationArray.count
|
||||
}
|
||||
|
||||
func loadAnimations(animArray: NSArray) {
|
||||
// clear the array first
|
||||
_animationArray.removeAll(keepCapacity: true)
|
||||
for ( var i=0; i<animArray.count; i++ ) {
|
||||
_animationArray.append(animArray[i] as! NSMutableDictionary)
|
||||
//println("append Animation count: \(_animationArray.count)")
|
||||
}
|
||||
_gameView.resetView()
|
||||
__tableView.reloadData()
|
||||
}
|
||||
|
||||
func getAnimation(id: Int) -> (NSDictionary) {
|
||||
let myAnimation = _animationArray[id] as NSDictionary
|
||||
return myAnimation
|
||||
}
|
||||
func getAnimations() -> ([NSDictionary]) {
|
||||
return _animationArray as [NSDictionary];
|
||||
}
|
||||
|
||||
func getAnimationName(id: Int) -> (String) {
|
||||
let value = (self.getAnimation(id)).objectForKey(AnimName) as! String
|
||||
|
||||
@@ -23,11 +23,17 @@ var dataArray: [NSMutableDictionary] = [["AnimName": "Animation1", "AnimKey": "1
|
||||
//var _animationArray: [NSMutableDictionary] = [NSMutableDictionary]();
|
||||
//var _selectedAnimation: Int = 0;
|
||||
|
||||
var __tableView: NSTableView = NSTableView()
|
||||
|
||||
class AnimationsController: NSObject, NSTableViewDataSource, NSTableViewDelegate {
|
||||
|
||||
@IBOutlet weak var myTableView: NSTableView!
|
||||
|
||||
override func awakeFromNib() {
|
||||
super.awakeFromNib()
|
||||
__tableView = myTableView
|
||||
}
|
||||
|
||||
func numberOfRowsInTableView(tableView: NSTableView) -> Int {
|
||||
let numberOfRows:Int = __animations.count() // _animationArray.count
|
||||
return numberOfRows
|
||||
@@ -136,6 +142,40 @@ class AnimationsController: NSObject, NSTableViewDataSource, NSTableViewDelegate
|
||||
}
|
||||
}
|
||||
|
||||
func convertInt16(value: UInt16) -> ([UInt8]) {
|
||||
var array: [UInt8] = [0,0]
|
||||
array[0] = UInt8(value & 0x000000ff);
|
||||
array[1] = UInt8((value & 0x0000ff00) >> 8);
|
||||
return array;
|
||||
}
|
||||
|
||||
func convertInt32(value: UInt32) -> ([UInt8]) {
|
||||
var array: [UInt8] = [0,0,0,0]
|
||||
array[0] = UInt8(value & 0x000000ff);
|
||||
array[1] = UInt8((value & 0x0000ff00) >> 8);
|
||||
array[2] = UInt8((value & 0x00ff0000) >> 16);
|
||||
array[3] = UInt8((value & 0xff000000) >> 24);
|
||||
return array;
|
||||
}
|
||||
|
||||
@IBAction func exportAnimations(send: AnyObject) {
|
||||
let testdata: [UInt8] = [254, 1, 128, 255]
|
||||
println("Import button pressed")
|
||||
|
||||
// for each animation
|
||||
|
||||
// Create header line per animation
|
||||
|
||||
// Append frame, separated by new-Line
|
||||
|
||||
// Calculate overall data to send
|
||||
|
||||
|
||||
// Send data
|
||||
CubeNetworkObj.sendBytes(testdata, count: UInt32(testdata.count))
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
@IBAction func closeButtonClicked(sender: AnyObject ) {
|
||||
animationsWindow.close()
|
||||
|
||||
@@ -17,6 +17,9 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
|
||||
@IBOutlet weak var window: NSWindow!
|
||||
@IBOutlet weak var animationsWindow: NSWindow!
|
||||
@IBOutlet weak var preferencesWindow: NSWindow!
|
||||
@IBOutlet weak var myMenu: NSMenu!
|
||||
|
||||
|
||||
func applicationDidFinishLaunching(aNotification: NSNotification) {
|
||||
// Insert code here to initialize your application
|
||||
@@ -30,5 +33,41 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
return NSApplicationTerminateReply.TerminateNow
|
||||
}
|
||||
|
||||
@IBAction func saveDocument(sender: AnyObject) {
|
||||
let mySavePanel: NSSavePanel = NSSavePanel()
|
||||
mySavePanel.allowedFileTypes = ["plist"]
|
||||
mySavePanel.beginWithCompletionHandler { (result: Int) -> Void in
|
||||
if result == NSFileHandlingPanelOKButton {
|
||||
let exportedFileURL = mySavePanel.URL
|
||||
// Save the data. What you do depends on your app.
|
||||
let myAnimArray: NSMutableArray = NSMutableArray()
|
||||
myAnimArray.addObjectsFromArray(__animations.getAnimations())
|
||||
myAnimArray.writeToURL(exportedFileURL!, atomically: true)
|
||||
//let myAnimation: NSDictionary = NSDictionary(dictionary: __animations.getAnimations())
|
||||
|
||||
|
||||
// Don't just paste this code in your app as your app
|
||||
// probably doesn't have a createPDF() method. self.createPDF(exportedFileURL)
|
||||
}
|
||||
} // End block
|
||||
println("save pressed")
|
||||
}
|
||||
|
||||
@IBAction func openDocument(sender: AnyObject) {
|
||||
let myOpenPanel: NSOpenPanel = NSOpenPanel()
|
||||
myOpenPanel.allowedFileTypes = ["plist"]
|
||||
myOpenPanel.beginWithCompletionHandler { (result: Int) -> Void in
|
||||
if result == NSFileHandlingPanelOKButton {
|
||||
let importedFileURL = myOpenPanel.URL
|
||||
//let myAnimationsDict: NSMutableDictionary = NSMutableDictionary(contentsOfURL: importedFileURL!)!
|
||||
let myAnimArray: NSMutableArray = NSMutableArray(contentsOfURL: importedFileURL!)!
|
||||
__animations.loadAnimations(myAnimArray)
|
||||
}
|
||||
} // End block
|
||||
}
|
||||
|
||||
@IBAction func openPreferences(send: AnyObject) {
|
||||
preferencesWindow.setIsVisible(true)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<menu title="AMainMenu" systemMenu="main" id="29">
|
||||
<items>
|
||||
<menuItem title="SceneKit Mac Template" id="56">
|
||||
<menu key="submenu" title="SceneKit Mac Template" systemMenu="apple" id="57">
|
||||
<menuItem title="Cube4Fun" id="56">
|
||||
<menu key="submenu" title="Cube4Fun" systemMenu="apple" id="57">
|
||||
<items>
|
||||
<menuItem title="About SceneKit Mac Template" id="58">
|
||||
<menuItem title="About Cube4Fun" id="58">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="orderFrontStandardAboutPanel:" target="-2" id="142"/>
|
||||
@@ -26,7 +26,11 @@
|
||||
<menuItem isSeparatorItem="YES" id="236">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
<menuItem title="Preferences…" keyEquivalent="," id="129"/>
|
||||
<menuItem title="Preferences…" keyEquivalent="," id="129">
|
||||
<connections>
|
||||
<action selector="openPreferences:" target="494" id="YdV-xj-oBb"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="143">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
@@ -76,10 +80,10 @@
|
||||
<action selector="openDocument:" target="-1" id="374"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Open Recent" id="124">
|
||||
<menuItem title="Open Recent" hidden="YES" enabled="NO" id="124">
|
||||
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="125">
|
||||
<items>
|
||||
<menuItem title="Clear Menu" id="126">
|
||||
<menuItem title="Clear Menu" enabled="NO" id="126">
|
||||
<connections>
|
||||
<action selector="clearRecentDocuments:" target="-1" id="127"/>
|
||||
</connections>
|
||||
@@ -100,22 +104,22 @@
|
||||
<action selector="saveDocument:" target="-1" id="362"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Revert to Saved" id="112">
|
||||
<menuItem title="Revert to Saved" hidden="YES" enabled="NO" id="112">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="revertDocumentToSaved:" target="-1" id="364"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="74">
|
||||
<menuItem isSeparatorItem="YES" hidden="YES" id="74">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
<menuItem title="Page Setup..." keyEquivalent="P" id="77">
|
||||
<menuItem title="Page Setup..." hidden="YES" enabled="NO" keyEquivalent="P" id="77">
|
||||
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="runPageLayout:" target="-1" id="87"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Print…" keyEquivalent="p" id="78">
|
||||
<menuItem title="Print…" hidden="YES" enabled="NO" keyEquivalent="p" id="78">
|
||||
<connections>
|
||||
<action selector="print:" target="-1" id="86"/>
|
||||
</connections>
|
||||
@@ -803,6 +807,9 @@
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="exportAnimations:" target="zTF-MA-6NT" id="Wqf-T8-ibb"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" id="5ce-Cy-Wpt">
|
||||
<rect key="frame" x="220" y="13" width="58" height="32"/>
|
||||
@@ -847,6 +854,8 @@
|
||||
<customObject id="494" customClass="AppDelegate" customModule="Cube4Fun" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="animationsWindow" destination="P9J-nG-QID" id="T26-Ji-oQm"/>
|
||||
<outlet property="myMenu" destination="29" id="4VP-Ge-aQq"/>
|
||||
<outlet property="preferencesWindow" destination="rBP-b5-IAd" id="ALx-FA-6L2"/>
|
||||
<outlet property="window" destination="371" id="532"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
@@ -862,5 +871,86 @@
|
||||
<outlet property="myTableView" destination="iWG-Dg-mvn" id="KUj-8f-taa"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<window identifier="Preferences" title="Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hidesOnDeactivate="YES" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="rBP-b5-IAd">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="131" y="158" width="393" height="181"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
||||
<view key="contentView" id="lCF-PB-zvB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="181"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<box autoresizesSubviews="NO" title="Cube Connection" borderType="line" id="j0p-9o-m4u">
|
||||
<rect key="frame" x="17" y="16" width="359" height="145"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<view key="contentView">
|
||||
<rect key="frame" x="1" y="1" width="357" height="129"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" id="P2I-nN-SoZ">
|
||||
<rect key="frame" x="97" y="90" width="130" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="a7v-ph-2VN">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="2zp-D1-Brz">
|
||||
<rect key="frame" x="16" y="93" width="75" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="IP Address:" id="QYT-Fg-a2I">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="Fif-B2-ngg">
|
||||
<rect key="frame" x="245" y="93" width="34" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Port:" id="8GK-Wg-2Dg">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" id="rTg-FP-cJJ">
|
||||
<rect key="frame" x="91" y="49" width="244" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Test" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="swa-BG-Tr6">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<levelIndicator verticalHuggingPriority="750" id="XB5-E8-zg1">
|
||||
<rect key="frame" x="18" y="12" width="321" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<levelIndicatorCell key="cell" alignment="left" maxValue="1" criticalValue="1" id="u4h-Q5-xzG"/>
|
||||
</levelIndicator>
|
||||
<progressIndicator hidden="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" id="H64-jS-YOR">
|
||||
<rect key="frame" x="45" y="58" width="16" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</progressIndicator>
|
||||
<textField verticalHuggingPriority="750" id="x0K-yJ-HcE">
|
||||
<rect key="frame" x="280" y="90" width="49" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="oeh-4x-nt8">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
</view>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
</box>
|
||||
</subviews>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="494" id="MZz-Cx-z5T"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="278.5" y="412.5"/>
|
||||
</window>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
@@ -34,6 +34,7 @@ int i,x;
|
||||
unsigned char color;
|
||||
DialogSocket ds;
|
||||
int frameChange = 0;
|
||||
int streamMode = 0; // 0 = off, 1 = frameStream, 2 = writeStream
|
||||
|
||||
void sleepcp(int milliseconds) // cross-platform sleep function
|
||||
{
|
||||
@@ -93,8 +94,25 @@ bool frame1[3][64] = { {1,0,0,1,
|
||||
1,0,0,1,
|
||||
0,0,0,0}};
|
||||
|
||||
void byte2uint32(unsigned char* bytes, u_int32_t msgLength) {
|
||||
unsigned char *vp = (unsigned char *)&msgLength;
|
||||
bytes[0] = vp[0]; // int32 to byte array conversion
|
||||
bytes[1] = vp[1];
|
||||
bytes[2] = vp[2];
|
||||
bytes[3] = vp[3];
|
||||
}
|
||||
|
||||
void fillBufferWithMsg() {
|
||||
void msgCloseFrameStream() {
|
||||
try {
|
||||
buffer3D[0] = 's';
|
||||
buffer3D[1] = 'S';
|
||||
ds.sendBytes(buffer3D, 2); // End the stream mode
|
||||
}catch (const Poco::Net::NetException & e){
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void fillBufferWithMsgStartStream() {
|
||||
buffer3D[0] = 'G';
|
||||
buffer3D[1] = 'E';
|
||||
buffer3D[2] = 'T';
|
||||
@@ -104,9 +122,40 @@ void fillBufferWithMsg() {
|
||||
buffer3D[6] = 'S';
|
||||
buffer3D[7] = 's';
|
||||
buffer3D[8] = ' ';
|
||||
|
||||
}
|
||||
|
||||
void msgOpenFrameStream() {
|
||||
fillBufferWithMsgStartStream();
|
||||
ds.sendBytes(buffer3D, 9);
|
||||
}
|
||||
|
||||
void msgStartWrite(u_int32_t msgLength) {
|
||||
unsigned char myBuffer[4];
|
||||
byte2uint32(myBuffer, msgLength);
|
||||
try{
|
||||
buffer3D[0] = 'G';
|
||||
buffer3D[1] = 'E';
|
||||
buffer3D[2] = 'T';
|
||||
buffer3D[3] = ' ';
|
||||
buffer3D[4] = '/';
|
||||
buffer3D[5] = '?';
|
||||
buffer3D[6] = 'W';
|
||||
buffer3D[7] = 'w';
|
||||
buffer3D[8] = myBuffer[0]; // int32 to byte array conversion
|
||||
buffer3D[9] = myBuffer[1];
|
||||
buffer3D[10] = myBuffer[2];
|
||||
buffer3D[11] = myBuffer[3];
|
||||
buffer3D[12] = ' ';
|
||||
|
||||
ds.sendBytes(buffer3D, 13);
|
||||
}catch (const Poco::Net::NetException & e){
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void testFrame() {
|
||||
// for (color=128;color<130;color++) {
|
||||
// Create testframe
|
||||
@@ -181,6 +230,42 @@ void CubeNetwork::updateFrame() {
|
||||
}
|
||||
*/
|
||||
|
||||
void CubeNetwork::sendBytes(const unsigned char* byteBuffer, unsigned int byteLength) {
|
||||
printf("sendBytes called\n");
|
||||
if ( streamMode == 1 ) {
|
||||
// End the frameStreammode first
|
||||
msgCloseFrameStream();
|
||||
streamMode = 2;
|
||||
}
|
||||
if ( byteBuffer != NULL ) {
|
||||
try {
|
||||
printf("Open connection for writing\n");
|
||||
//ds.connect(SocketAddress("192.168.1.79", 8081));
|
||||
// let arduino knows what to expect
|
||||
msgStartWrite(byteLength);
|
||||
unsigned char myBuffer[4];
|
||||
int ret = ds.receiveRawBytes(myBuffer, 4);
|
||||
printf("0: %u\n", myBuffer[0]);
|
||||
printf("1: %u\n", myBuffer[1]);
|
||||
printf("2: %u\n", myBuffer[2]);
|
||||
printf("3: %u\n", myBuffer[3]);
|
||||
printf("ret: %u\n", ret);
|
||||
|
||||
// send bytes to write
|
||||
ds.sendBytes(byteBuffer, byteLength);
|
||||
//ds.close();
|
||||
// Reset to the frameStream mode
|
||||
if ( streamMode == 2 ) {
|
||||
msgOpenFrameStream();
|
||||
streamMode = 1;
|
||||
}
|
||||
}catch (const Poco::Net::NetException & e){
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CubeNetwork::updateFrame(const unsigned char * frameSequence, unsigned int frameCount) {
|
||||
// check for empty pointer
|
||||
if ( frameSequence != NULL ) {
|
||||
@@ -197,10 +282,10 @@ void CubeNetwork::updateFrame(const unsigned char * frameSequence, unsigned int
|
||||
|
||||
void CubeNetwork::openConnection() {
|
||||
try {
|
||||
printf("Try open the connection\n");
|
||||
printf("Try to open the connection\n");
|
||||
ds.connect(SocketAddress("192.168.1.79", 8081));
|
||||
fillBufferWithMsg();
|
||||
ds.sendBytes(buffer3D, 9);
|
||||
msgOpenFrameStream();
|
||||
streamMode = 1;
|
||||
}catch (const Poco::Net::NetException & e){
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
@@ -208,38 +293,38 @@ void CubeNetwork::openConnection() {
|
||||
|
||||
void CubeNetwork::closeConnection() {
|
||||
try {
|
||||
buffer3D[0] = 's';
|
||||
buffer3D[1] = 'S';
|
||||
ds.sendBytes(buffer3D, 2); // End the stream mode
|
||||
msgCloseFrameStream();
|
||||
ds.close();
|
||||
}catch (const Poco::Net::NetException & e){
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
streamMode = 0;
|
||||
}
|
||||
|
||||
|
||||
void CubeNetwork::initObjects() {
|
||||
srand((unsigned int)time(NULL));
|
||||
|
||||
try {
|
||||
ds.connect(SocketAddress("192.168.1.79", 8081));
|
||||
|
||||
fillBufferWithMsg();
|
||||
fillBufferWithMsgStartStream();
|
||||
ds.sendBytes(buffer3D, 9);
|
||||
|
||||
|
||||
//testStream2();
|
||||
testFrame();
|
||||
|
||||
buffer3D[0] = 's';
|
||||
buffer3D[1] = 'S';
|
||||
ds.sendBytes(buffer3D, 2); // End the stream mode
|
||||
msgCloseFrameStream();
|
||||
|
||||
}catch (const Poco::Net::NetException & e){
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
std::cout << "It works" << std::endl;
|
||||
//std::cout << "It works" << std::endl;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//void Performance_CPlusPlus::sortArray(unsigned int num_elements)
|
||||
|
||||
@@ -15,6 +15,7 @@ public:
|
||||
|
||||
static void initObjects();
|
||||
static void updateFrame(const unsigned char * frameSequence = NULL, unsigned int frameCount = 0);
|
||||
static void sendBytes(const unsigned char* byteBuffer = NULL, u_int32_t byteLength=0);
|
||||
static void openConnection();
|
||||
static void closeConnection();
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
@interface CubeNetworkObj : NSObject
|
||||
+ (void) updateFrame: (const unsigned char *) frameSequence count: (UInt32) frameCount;
|
||||
+ (void) sendBytes: (const unsigned char *) byteBuffer count: (u_int32_t) byteLength;
|
||||
+ (void) initObjects;
|
||||
+ (void) openConnection;
|
||||
+ (void) closeConnection;
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
{
|
||||
CubeNetwork::updateFrame(frameSequence, frameCount);
|
||||
}
|
||||
+ (void) sendBytes: (const unsigned char *) byteBuffer count: (u_int32_t) byteLength
|
||||
{
|
||||
CubeNetwork::sendBytes(byteBuffer, byteLength);
|
||||
}
|
||||
+ (void) openConnection
|
||||
{
|
||||
CubeNetwork::openConnection();
|
||||
|
||||
Reference in New Issue
Block a user