Sie sind nicht angemeldet.

1

Donnerstag, 20. Dezember 2018, 12:26

Spline

Ich würde gern ein Spline-Objekt per Code erzeugen. In der Spline.goh heißt es in Zeile 1103ff dazu:

"The passed points MUST be a valid chunkArray of SplinePointStruct structures."

Ich denke, dass ich alle in Frage kommenden Dateien abgesucht habe. SplinePointStruct habe ich nirgends gefunden. Weiß jemand Rat?

Wilfried

2

Donnerstag, 20. Dezember 2018, 14:45

Siehe

https://github.com/bluewaysw/pcgeos/blob/master/Library/Spline/splineConstant.def

Zeile 243ff

Das Interessante ist - es scheint eine INTERNE Datenstruktur zu sein, keine Ahnung, ob die in der API zur Verfügung steht...
Bye,
MeyerK

3

Donnerstag, 20. Dezember 2018, 16:18

Hallo Konstantin,

da steht ja alles, was ich brauche! Ob ich*s auch verstehen werde, ist 'ne andere Sache.
Kann man die Dateien kopieren?
Jedenfalls danke ich dir sehr!!

Wilfried

4

Donnerstag, 20. Dezember 2018, 19:01

Klar kannst Du die Dateien kopieren. Oben rechts gibt es den großen grünen Button "Clone or Download". Dahinter findest Du auch die Option alles als ZIP file runterzuladen... Idealerweise installierst Du aber GIT...
Bye,
MeyerK

5

Donnerstag, 20. Dezember 2018, 19:25

typedef ByteEnum SplineSetPointType;
#define SSPT_POINT (sizeof(Point))
#define SSPT_WWFIXED (sizeof(PointWWFixed))


typedef ByteFlags SplineSetPointFlags;
/* 2 bits unused */

#define SSPF_HAS_CONTROLS (0x20)
/* If set, then the array contains control points. */

#define SSPF_FIRST_POINT_IS_CONTROL (0x10)
/*
* If set, then the first point is a control point. The points
* are assumed to be of the form:
* C, A, C, C, A, C, C, A, C, C, A...
* If this is not set, and SSPF_CONTAINS_CONTROL_POINTS is set,
* then the points are of the form:
* A, C, C, A, C, C, A...
*
* It is an error to set this flag if SSPF_HAS_CONTROLS is
* not set.
*/

#define SSPF_TYPE (0x08 | 0x04 | 0x02 | 0x01)
#define SSPF_TYPE_OFFSET 0
/* Data type of passed points */


typedef struct {
void *SSPP_points;
word SSPP_numPoints;
SplineSetPointFlags SSPP_flags;
} SplineSetPointParams;


Siehe https://github.com/bluewaysw/pcgeos/blob…cts/splineC.goh

Diese Struktur wird jedenfalls für "Set Points" benötigt:

@message void MSG_SPLINE_SET_POINTS(@stack SplineSetPointParams params);
/*
* Replace the spline's points with the passed set of points.
*
* Pass: SplineSetPointParams
* Return: nothing
*/
d[ 0_O ]b

6

Donnerstag, 20. Dezember 2018, 23:59

Der Trick war: Erstmal den Button Code anklicken.

Danke Jörg!

7

Dienstag, 1. Januar 2019, 19:08

Konstantin:

Du hast leider recht mit deiner Befürchtung. Die Datenstruktur SplinePointStruct steht nur intern zur Verfügung.



Inzwischen kann ich Polylines als Grafikobjekte erzeugen, aber ich finde keinen Weg, die Eckpunkt auszulesen (geschweige denn zu verändern). Mit Swat bekomme ich zwar Zugriff auf die obige Datenstruktur, aber die Inhalte ergeben keinen Sinn. Scheint doch sehr viel komplizierter zu sein, als ich dachte.

8

Mittwoch, 2. Januar 2019, 13:13

Immer wenn man denkt, es ginge nicht weiter, dann ergibt sich doch noch Weg :) .

Ich habe die Datenstruktur SplinePointStruct in meinem Projekt nachgebaut und kann jetzt die Koordinaten der Polylinepunkte auslesen.

Zur Zeit sind neben Ihnen 2 Benutzer in diesem Thema unterwegs:

2 Besucher

Ähnliche Themen

Thema bewerten