|
@@ -35,6 +35,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
* SceneReply res = SceneReply.newBuilder().setRes(id+","+name).build();
|
|
|
* responseObserver.onNext(res);
|
|
|
*/
|
|
|
+ /*
|
|
|
@Override
|
|
|
public void testMethod(SceneRequest request, StreamObserver<SceneReply> responseObserver) {
|
|
|
// grpc服务端获取调用端请求参数
|
|
@@ -124,11 +125,25 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
String trace_id = request.getTraceId();
|
|
|
String user_id = request.getUserId();
|
|
|
|
|
|
+ //这三个变量从user表和rotateframe表里取
|
|
|
+ Space player = null;
|
|
|
+ Space camera = null;
|
|
|
+ Point cameraCenter = null;
|
|
|
|
|
|
+ State playerState = createPlayerState( player, camera, cameraCenter);
|
|
|
+ RenderInfo renderInfo = createRenderInfo();
|
|
|
+ Event event = createEvent();
|
|
|
+ UserState userState = createUserState( user_id, playerState, renderInfo, event);
|
|
|
|
|
|
NormalReply res = NormalReply.newBuilder()
|
|
|
- .setTraceIds(0, trace_id).setVehicle(null)
|
|
|
- .setNewUserStates(0, value)
|
|
|
+ .setTraceIds(0, trace_id)
|
|
|
+ .setVehicle(null)
|
|
|
+ .setNewUserStates(0, userState)
|
|
|
+ .setActionResponses(0, 0) //这个要查查
|
|
|
+ .setGetStateType(0)
|
|
|
+ .setCode(0)
|
|
|
+ .setMsg("OK")
|
|
|
+ .setFrameSrc(null) //从数据库中获取对应的路径
|
|
|
.build();
|
|
|
|
|
|
|
|
@@ -141,8 +156,9 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //返回的是角度矫正数据
|
|
|
@Override
|
|
|
- public void moveStart(StartMoveRequest request, StreamObserver<NormalReply> responseObserver) {
|
|
|
+ public void moveStart(StartMoveRequest request, StreamObserver<MoveReply> responseObserver) {
|
|
|
try {
|
|
|
/*
|
|
|
* 1.从user表里获得当前人物所在的breakPoint_id
|
|
@@ -151,6 +167,45 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
* 4.返回整个路径的一段
|
|
|
*
|
|
|
* */
|
|
|
+ int action_type= request.getActionType();
|
|
|
+ ClickingAction clicking_action = request.getClickingAction();
|
|
|
+
|
|
|
+ Point end = clicking_action.getClickingPoint();
|
|
|
+
|
|
|
+ State clicking_state = request.getClickingState();
|
|
|
+ String trace_id = request.getTraceId();
|
|
|
+ String user_id = request.getUserId();
|
|
|
+
|
|
|
+ Point start = null; //从user表里取
|
|
|
+ //计算路径
|
|
|
+ //开始返回结果,一段一段的返回(每段是两个邻居点的过渡),第一段之前还要有角度的矫正
|
|
|
+ //矫正的结果:
|
|
|
+
|
|
|
+
|
|
|
+ //这三个变量从user表和rotateframe表里取。自己对应的都是空
|
|
|
+ Space player = null;
|
|
|
+ Space camera = null;
|
|
|
+ Point cameraCenter = null;
|
|
|
+
|
|
|
+ State playerState = createPlayerState( player, camera, cameraCenter);
|
|
|
+ RenderInfo renderInfo = createRenderInfo();
|
|
|
+ Event event = createEvent();
|
|
|
+ UserState userState = createUserState( user_id, playerState, renderInfo, event);
|
|
|
+
|
|
|
+ MoveReply res = MoveReply.newBuilder()
|
|
|
+ .setTraceIds(0, trace_id)
|
|
|
+ .setVehicle(null)
|
|
|
+ .setNewUserStates(0, userState)
|
|
|
+ .setActionResponses(0, 0) //这个要查查
|
|
|
+ .setGetStateType(0)
|
|
|
+ .setCode(0)
|
|
|
+ .setMsg("OK")
|
|
|
+ //.setPlayer(index, value)
|
|
|
+ //.setCamera(index, value)
|
|
|
+ //.setCameraCenter(index, value)
|
|
|
+ //.setFrameSrc(index, value)
|
|
|
+ .setIsEnd(false)
|
|
|
+ .build();
|
|
|
}
|
|
|
catch(Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -167,6 +222,11 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
* 4.返回整个路径的一段
|
|
|
*
|
|
|
* */
|
|
|
+ String user_id = request.getUserId();
|
|
|
+ String trace_id = request.getTraceId();
|
|
|
+ boolean needNext = request.getNext();
|
|
|
+
|
|
|
+ //moveStart的结果参考moveStart
|
|
|
}
|
|
|
catch(Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -178,10 +238,33 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
try {
|
|
|
log.info("进入{}",request);
|
|
|
|
|
|
-
|
|
|
-// responseObserver.onNext(res);
|
|
|
-// responseObserver.onCompleted();
|
|
|
-// log.info("回复{}",res);
|
|
|
+ int action_type = request.getActionType();
|
|
|
+ NeighborPointsAction get_neighbor_points_action = request.getGetNeighborPointsAction();
|
|
|
+ String trace_id = request.getTraceId();
|
|
|
+ String user_id = request.getUserId();
|
|
|
+
|
|
|
+ //从表breakpoints里获取所有的呼吸点,并且是数组
|
|
|
+ Point[] nps=null;
|
|
|
+
|
|
|
+ BreakPointReply res = BreakPointReply.newBuilder()
|
|
|
+ .setActionType(action_type)
|
|
|
+ .setPointType(100)
|
|
|
+ .setExtra("")
|
|
|
+ .setTraceId(trace_id)
|
|
|
+ .setPacketId("")
|
|
|
+ //.setNps(nps)
|
|
|
+ .setPeopleNum(0)
|
|
|
+ .setZoneId("")
|
|
|
+ .setEchoMsg("")
|
|
|
+ .setReserveDetail(null)
|
|
|
+ //.setUserWithAvatarList()
|
|
|
+ //.setNewUserStates()
|
|
|
+ .setCode(0)
|
|
|
+ .setMsg("")
|
|
|
+ .build();
|
|
|
+ responseObserver.onNext(res);
|
|
|
+ responseObserver.onCompleted();
|
|
|
+ log.info("回复{}",res);
|
|
|
}
|
|
|
catch(Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -203,11 +286,15 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private UserState createUserState(String user_id,State state) {
|
|
|
- UserState state = UserState.newBuilder()
|
|
|
+ private UserState createUserState(String user_id,State state,RenderInfo renderInfo,Event event) {
|
|
|
+ UserState userState = UserState.newBuilder()
|
|
|
.setUserId(user_id)
|
|
|
.setPlayerState(state)
|
|
|
+ .setRenderInfo(renderInfo)
|
|
|
+ .setEvent(event)
|
|
|
+ .setRelation(1)
|
|
|
.build();
|
|
|
+ return userState;
|
|
|
}
|
|
|
|
|
|
private State createPlayerState(Space player,Space camera,Point cameraCenter) {
|
|
@@ -236,13 +323,35 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
return playerState;
|
|
|
}
|
|
|
|
|
|
+ private RenderInfo createRenderInfo() {
|
|
|
+ RenderInfo renderInfo = RenderInfo.newBuilder()
|
|
|
+ .setRenderType(0)
|
|
|
+ .setVideoFrame(null)
|
|
|
+ .setCameraStateType(0)
|
|
|
+ .setIsMoving(0)
|
|
|
+ .setNeedIfr(0)
|
|
|
+ .setIsVideo(0)
|
|
|
+ .setStillFrame(0)
|
|
|
+ .setIsRotating(0)
|
|
|
+ .setIsFollowing(0)
|
|
|
+ .setClientPanoTreceId("")
|
|
|
+ .setPrefetchVideoId("")
|
|
|
+ .setNoMedia(false).build();
|
|
|
+ return renderInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Event createEvent() {
|
|
|
+ Event event = Event.newBuilder().setId("").setType(0).setRotateEvent(null).setRemoveVisitorEvent(null).build();
|
|
|
+ return event;
|
|
|
+ }
|
|
|
+
|
|
|
private Space createSpace(Point position,AngleUe4 angle) {
|
|
|
Space space = Space.newBuilder().setPosition(position).setAngle(angle).build();
|
|
|
return space;
|
|
|
}
|
|
|
|
|
|
- private Point createPoint(double x,double y,double z) {
|
|
|
- Point point = Point.newBuilder().setX(x).setY(y).setZ(z);
|
|
|
+ private Point createPoint(String x,String y,String z) {
|
|
|
+ Point point = Point.newBuilder().setX(x).setY(y).setZ(z).build();
|
|
|
return point;
|
|
|
}
|
|
|
|
|
@@ -250,4 +359,6 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
AngleUe4 angle = AngleUe4.newBuilder().setPitch(pitch).setYaw(yaw).setRoll(roll).build();
|
|
|
return angle;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|