Fix MVS compilation.
This commit is contained in:
parent
aeaf0e7ba8
commit
c0fdcb381a
@ -46,7 +46,7 @@ struct EdgeBasedNode
|
|||||||
u(SPECIAL_NODEID), v(SPECIAL_NODEID), name_id(0),
|
u(SPECIAL_NODEID), v(SPECIAL_NODEID), name_id(0),
|
||||||
forward_weight(INVALID_EDGE_WEIGHT >> 1), reverse_weight(INVALID_EDGE_WEIGHT >> 1),
|
forward_weight(INVALID_EDGE_WEIGHT >> 1), reverse_weight(INVALID_EDGE_WEIGHT >> 1),
|
||||||
forward_offset(0), reverse_offset(0), packed_geometry_id(SPECIAL_EDGEID),
|
forward_offset(0), reverse_offset(0), packed_geometry_id(SPECIAL_EDGEID),
|
||||||
component{false, INVALID_COMPONENTID}, fwd_segment_position(std::numeric_limits<unsigned short>::max()),
|
component{INVALID_COMPONENTID, false}, fwd_segment_position(std::numeric_limits<unsigned short>::max()),
|
||||||
forward_travel_mode(TRAVEL_MODE_INACCESSIBLE),
|
forward_travel_mode(TRAVEL_MODE_INACCESSIBLE),
|
||||||
backward_travel_mode(TRAVEL_MODE_INACCESSIBLE)
|
backward_travel_mode(TRAVEL_MODE_INACCESSIBLE)
|
||||||
{
|
{
|
||||||
@ -71,7 +71,7 @@ struct EdgeBasedNode
|
|||||||
reverse_edge_based_node_id(reverse_edge_based_node_id), u(u), v(v), name_id(name_id),
|
reverse_edge_based_node_id(reverse_edge_based_node_id), u(u), v(v), name_id(name_id),
|
||||||
forward_weight(forward_weight), reverse_weight(reverse_weight),
|
forward_weight(forward_weight), reverse_weight(reverse_weight),
|
||||||
forward_offset(forward_offset), reverse_offset(reverse_offset),
|
forward_offset(forward_offset), reverse_offset(reverse_offset),
|
||||||
packed_geometry_id(packed_geometry_id), component{is_tiny_component, component_id},
|
packed_geometry_id(packed_geometry_id), component{component_id, is_tiny_component},
|
||||||
fwd_segment_position(fwd_segment_position), forward_travel_mode(forward_travel_mode),
|
fwd_segment_position(fwd_segment_position), forward_travel_mode(forward_travel_mode),
|
||||||
backward_travel_mode(backward_travel_mode)
|
backward_travel_mode(backward_travel_mode)
|
||||||
{
|
{
|
||||||
@ -102,8 +102,8 @@ struct EdgeBasedNode
|
|||||||
int reverse_offset; // prefix sum of the weight from the edge TODO: short must suffice
|
int reverse_offset; // prefix sum of the weight from the edge TODO: short must suffice
|
||||||
unsigned packed_geometry_id; // if set, then the edge represents a packed geometry
|
unsigned packed_geometry_id; // if set, then the edge represents a packed geometry
|
||||||
struct {
|
struct {
|
||||||
bool is_tiny : 1;
|
|
||||||
unsigned id : 31;
|
unsigned id : 31;
|
||||||
|
bool is_tiny : 1;
|
||||||
} component;
|
} component;
|
||||||
unsigned short fwd_segment_position; // segment id in a compressed geometry
|
unsigned short fwd_segment_position; // segment id in a compressed geometry
|
||||||
TravelMode forward_travel_mode : 4;
|
TravelMode forward_travel_mode : 4;
|
||||||
|
@ -51,7 +51,7 @@ PhantomNode::PhantomNode(NodeID forward_node_id,
|
|||||||
: forward_node_id(forward_node_id), reverse_node_id(reverse_node_id), name_id(name_id),
|
: forward_node_id(forward_node_id), reverse_node_id(reverse_node_id), name_id(name_id),
|
||||||
forward_weight(forward_weight), reverse_weight(reverse_weight),
|
forward_weight(forward_weight), reverse_weight(reverse_weight),
|
||||||
forward_offset(forward_offset), reverse_offset(reverse_offset),
|
forward_offset(forward_offset), reverse_offset(reverse_offset),
|
||||||
packed_geometry_id(packed_geometry_id), component{is_tiny_component, component_id}, location(location),
|
packed_geometry_id(packed_geometry_id), component{component_id, is_tiny_component}, location(location),
|
||||||
fwd_segment_position(fwd_segment_position), forward_travel_mode(forward_travel_mode),
|
fwd_segment_position(fwd_segment_position), forward_travel_mode(forward_travel_mode),
|
||||||
backward_travel_mode(backward_travel_mode)
|
backward_travel_mode(backward_travel_mode)
|
||||||
{
|
{
|
||||||
@ -61,7 +61,7 @@ PhantomNode::PhantomNode()
|
|||||||
: forward_node_id(SPECIAL_NODEID), reverse_node_id(SPECIAL_NODEID),
|
: forward_node_id(SPECIAL_NODEID), reverse_node_id(SPECIAL_NODEID),
|
||||||
name_id(std::numeric_limits<unsigned>::max()), forward_weight(INVALID_EDGE_WEIGHT),
|
name_id(std::numeric_limits<unsigned>::max()), forward_weight(INVALID_EDGE_WEIGHT),
|
||||||
reverse_weight(INVALID_EDGE_WEIGHT), forward_offset(0), reverse_offset(0),
|
reverse_weight(INVALID_EDGE_WEIGHT), forward_offset(0), reverse_offset(0),
|
||||||
packed_geometry_id(SPECIAL_EDGEID), component{false, INVALID_COMPONENTID},
|
packed_geometry_id(SPECIAL_EDGEID), component{INVALID_COMPONENTID, false},
|
||||||
fwd_segment_position(0), forward_travel_mode(TRAVEL_MODE_INACCESSIBLE),
|
fwd_segment_position(0), forward_travel_mode(TRAVEL_MODE_INACCESSIBLE),
|
||||||
backward_travel_mode(TRAVEL_MODE_INACCESSIBLE)
|
backward_travel_mode(TRAVEL_MODE_INACCESSIBLE)
|
||||||
{
|
{
|
||||||
|
@ -88,10 +88,14 @@ struct PhantomNode
|
|||||||
int forward_offset;
|
int forward_offset;
|
||||||
int reverse_offset;
|
int reverse_offset;
|
||||||
unsigned packed_geometry_id;
|
unsigned packed_geometry_id;
|
||||||
struct {
|
struct ComponentType {
|
||||||
|
uint32_t id : 31;
|
||||||
bool is_tiny : 1;
|
bool is_tiny : 1;
|
||||||
unsigned id : 31;
|
|
||||||
} component;
|
} component;
|
||||||
|
// bit-fields are broken on Windows
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
static_assert(sizeof(ComponentType) == 4, "ComponentType needs to 4 bytes big");
|
||||||
|
#endif
|
||||||
FixedPointCoordinate location;
|
FixedPointCoordinate location;
|
||||||
unsigned short fwd_segment_position;
|
unsigned short fwd_segment_position;
|
||||||
// note 4 bits would suffice for each,
|
// note 4 bits would suffice for each,
|
||||||
@ -114,7 +118,9 @@ struct PhantomNode
|
|||||||
bool operator==(const PhantomNode &other) const;
|
bool operator==(const PhantomNode &other) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef _MSC_VER
|
||||||
static_assert(sizeof(PhantomNode) == 48, "PhantomNode has more padding then expected");
|
static_assert(sizeof(PhantomNode) == 48, "PhantomNode has more padding then expected");
|
||||||
|
#endif
|
||||||
|
|
||||||
using PhantomNodeArray = std::vector<std::vector<PhantomNode>>;
|
using PhantomNodeArray = std::vector<std::vector<PhantomNode>>;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user