示例#1
0
        protected RoadSegmentMesher(IRoadSegment segment, RoadTemplate template)
        {
            Segment  = segment;
            Template = template;

            var startNoZ = Segment.StartPosition.WithZ(0);
            var endNoZ   = Segment.EndPosition.WithZ(0);

            DirectionNoZ       = Vector3.Normalize(endNoZ - startNoZ);
            DirectionNormalNoZ = Vector3.Cross(DirectionNoZ, Vector3.UnitZ);

            TextureBounds = TextureAtlas.ForRoadWidth(Template.RoadWidthInTexture)[Segment.Type];
        }
示例#2
0
 protected TerrainAwareRoadSegmentMesher(IRoadSegment segment, RoadTemplate template) : base(segment, template)
 {
 }
示例#3
0
 public EndCapRoadSegmentMesher(IRoadSegment segment, RoadTemplate template, float joinAngle) :
     base(segment, template)
 {
     _joinAngle = joinAngle;
 }
示例#4
0
 public CrossingRoadSegmentMesher(IRoadSegment segment, float halfHeight, RoadTemplate template)
     : base(segment, template)
 {
     HalfHeight = halfHeight;
 }
示例#5
0
 public CurvedRoadSegmentMesher(IRoadSegment segment, RoadTemplate template)
     : base(segment, template)
 {
 }
示例#6
0
 public SimpleRoadSegmentMesher(IRoadSegment segment, RoadTemplate template)
     : base(segment, template)
 {
 }
示例#7
0
 public StraightRoadSegmentMesher(IRoadSegment segment, float halfHeight, RoadTemplate template)
     : base(segment, halfHeight, template)
 {
 }